を与え、あなたはこれを行うことができます。パンダが<code>pandas</code>では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
クラスを猿パッチすることができますか? (私はそれが簡単で固定されていることを認識していますので、コード内の場所への参照が
非常に参考になる、私は比較が実施される場合のために、ソースコードの中を見てきたが、私はそれを見つけることができませんでした比較の順序を変更していますが、私はソースコードをもっと理解したいと思っていますので、もっと興味をそそるようにお願いしています)
私にはバグのようです... – mgilson
はPython 3でうまく動作しますが、Python 2を使うと思いますか? 'x.a.values'を試すことができます。これはnp.arrayを返すべきです。 – Julien
あなたはウサギの穴を下っています!割り当てと比較の順序は、私はCから来ていると信じています。 – Merlin