每当我尝试在具有分层索引的数据帧上为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并已在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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。