在pandas
,你可以這樣做:大熊貓與numpy的浮動比較系列給人的TypeError
>>> x = pd.DataFrame([[1,2,3,4], [3,4,5,6]], columns=list('abcd'))
>>> x
a b c d
0 1 2 3 4
1 3 4 5 6
>>> 2 < x.a
0 False
1 True
Name: a, dtype: bool
然而,當我嘗試用它與numpy
浮動:
>>> np.float64(2) < x.a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/simon/Documents/workspace/rent-my-rez/venv/lib/python2.7/site-packages/pandas/core/ops.py", line 741, in wrapper
if len(self) != len(other):
TypeError: len() of unsized object
有一些方法圍繞這個(其中不涉及將浮點數numpy
浮動到常規浮點數),還是某種方式,我可以將來自熊貓的Series
類補丁實現反向比較?我已經在源代碼中查看了比較實現的位置,但是我找不到它,因此在代碼中提及的位置將非常有幫助
(我知道它很容易被改變比較的順序,但我對此更感興趣,因爲我想更多地瞭解源代碼)
看起來像一個bug ... – mgilson
在Python 3中對我很好,我想你使用Python 2?你可以嘗試'x.a.values',它應該返回一個np.array。 – Julien
你正在走下一個兔子洞!分配和比較的順序,我相信來自C.你在這裏挖C。 – Merlin