'index'对象在python中不可调用

时间:2017-09-15 02:00:08

标签: python pandas

我是python的新手。有人可以解释当我在阅读csv文件后尝试获取索引信息时发生了什么吗?

import pandas as pd

df = pd.read_csv('olympics.csv', index_col=0, skiprows=1)

for col in df.columns:
    if col[:2]=='01':
        df.rename(columns={col:'Gold'+col[4:]}, inplace=True)
    if col[:2]=='02':
        df.rename(columns={col:'Silver'+col[4:]}, inplace=True)
    if col[:2]=='03':
        df.rename(columns={col:'Bronze'+col[4:]}, inplace=True)
    if col[:1]=='№':
        df.rename(columns={col:'#'+col[1:]}, inplace=True)

names_ids = df.index.str.split('\s\(') # split the index by '('

df.index = names_ids.str[0] 
df['ID'] = names_ids.str[1].str[:3] 

df = df.drop('Totals')
df.head()

然后我得到了这个数据帧。

dataframe

但是当我尝试使用df.index()获取索引信息时,我收到一个错误,说Index对象不可调用。

1 个答案:

答案 0 :(得分:2)

你应该使用" df.index"," df.index()"表明它是一种功能。 " df.index"只是意味着"索引"是DataFrame的子集。您可以采用相同的方式调用列(例如df [' ID'] - > df.ID)。

此外,在" df.drop"中指定轴是一个好习惯。它默认为0(索引),因此如果您尝试删除列而不解决此问题,则会出现错误(例如df = df.drop(' some_column',1))