我是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()
然后我得到了这个数据帧。
但是当我尝试使用df.index()获取索引信息时,我收到一个错误,说Index对象不可调用。
答案 0 :(得分:2)
你应该使用" df.index"," df.index()"表明它是一种功能。 " df.index"只是意味着"索引"是DataFrame的子集。您可以采用相同的方式调用列(例如df [' ID'] - > df.ID)。
此外,在" df.drop"中指定轴是一个好习惯。它默认为0(索引),因此如果您尝试删除列而不解决此问题,则会出现错误(例如df = df.drop(' some_column',1))