在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