在带有分层索引的pandas数据框架中使用iloc的问题[英] Trouble with using iloc in pandas dataframe with hierarchical index

本文是小编为大家收集整理的关于在带有分层索引的pandas数据框架中使用iloc的问题的处理方法,想解了在带有分层索引的pandas数据框架中使用iloc的问题的问题怎么解决?在带有分层索引的pandas数据框架中使用iloc的问题问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

每当我尝试在具有分层索引数据帧上将列表提供给 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'

推荐答案

这是 一个错误 并已在 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

本文地址:https://www.itbaoku.cn/post/1728144.html