每当我尝试向具有分层索引的数据帧上的 iloc 提供列表时,我都会收到此 ValueError 。我不确定我是否做错了什么或者这是否是一个错误。我在使用 iloc 时没有遇到任何问题,就像使用非分层索引一样。这是使用 Pandas 0.12.0。
In [25]: df
Out[25]:
D E F
a x -1.050681 -0.084306 -1.635852
y 1.544577 1.594976 -0.084866
b x 0.462529 -1.873250 1.252685
y -0.468074 0.673112 -0.900547
c x 0.901710 -0.432554 0.260157
y 0.101522 -0.550223 1.389497
In [26]: df.iloc[[1,3]]
..... snip .....
ValueError: Buffer dtype mismatch, expected 'Python object' but got 'long'
In [27]: df.iloc[range(2)]
...... snip .....
ValueError: Buffer dtype mismatch, expected 'Python object' but got 'long'
这是a bug https://github.com/pydata/pandas/pull/5529并且已在 master (0.13) 中修复,临时解决方法是使用 ix (!):
In [11]: df1.ix[[1, 3]]
Out[11]:
D E F
a y 1.544577 1.594976 -0.084866
b y -0.468074 0.673112 -0.900547
在大师中,0.13:
In [12]: df1.iloc[[1, 3]]
Out[12]:
D E F
a y 1.544577 1.594976 -0.084866
b y -0.468074 0.673112 -0.900547
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)