问题原因

pandas版本0.20.0及其以后版本中,ix已经不被推荐使用

问题解决

使用loc和iloc替换

loc

loc gets rows (or columns) with particular labels from the index. loc从索引中获取具有特定标签的行(或列)。这里的关键是:标签。标签的理解就是name名字。

>>> import pandas as pd
>>> df = pd.DataFrame(data= [[1, 2, 3],[4, 5, 6], [7, 8, 9]], index=['e', 'f', 'g'], columns=['a','b','c'])
>>> print(df.loc['e'])
a    1
b    2
c    3
Name: e, dtype: int64
>>>   
iloc

iloc gets rows (or columns) at particular positions in the index (so it only takes integers). iloc在索引中的特定位置获取行(或列)(因此它只接受整数)。这里的关键是:位置。位置的理解就是排第几个。

>>> import pandas as pd
>>> df = pd.DataFrame(data= [[1, 2, 3],[4, 5, 6], [7, 8, 9]], index=['e', 'f', 'g'], columns=['a','b','c'])
>>> print(df.iloc[1])
a    4
b    5
c    6
Name: f, dtype: int64
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐