python - pandas:内部函数的错误参数(在 iterators.c 中)

标签 python pandas

为什么我会在这里收到错误?使用Python 2.6和pandas v.0.13.1

In [2]: df = pd.DataFrame({'x': [1, 1, 2, 2, 1, 1], 'y':[1, 2, 2, 2, 2, 1]})

In [3]: print pd.factorize(pd.lib.fast_zip([df.x, df.y]))[0]
---------------------------------------------------------------------------
SystemError                               Traceback (most recent call last)
<ipython-input-3-d98d985f2794> in <module>()
----> 1 print pd.factorize(pd.lib.fast_zip([df.x, df.y]))[0]

/usr/lib64/python2.6/site-packages/pandas/lib.so in pandas.lib.fast_zip (pandas/lib.c:8026)()

SystemError: numpy/core/src/multiarray/iterators.c:370: bad argument to internal function

最佳答案

您必须使用 df.x.valuesdf.y.values 来代替,才能访问 np.ndarray 对象pd.lib.fast_zip() 中需要:

print(pd.factorize(pd.lib.fast_zip([df.x.values, df.y.values]))[0])

关于python - pandas:内部函数的错误参数(在 iterators.c 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23434365/

相关文章:

python - Pandas 如何用数据帧中的前一个值填充行序列

python - Kivy:是否有 "BoundedString"属性可用于 TextInputs?

python - 当组名称在多列中时,pandas 前 n 个值

python - 在 Python 中将进程作为线程与网络一起使用

Python 使用不同的内部导入两次从模块导入函数

python - 如何添加复制某些列的新行,但在其他列中分配新值

Python MySQL 连接器返回 bytearray 而不是常规字符串值

python - 数据框到 file.txt python

python - python的递归itemgetter

python - Django 测试 : how to specify the apps whose databases I want to use?