2016-01-20 71 views
1

我想调用Dataframe列来使用Pandas进行分析。我上传了一个CSV文件,但是每次都会给我这个错误AttributeError: 'DataFrame' object has no attribute 'X' 如何让每一列都可用于分析,并且为什么这会始终发生。数据框架对象没有属性

proportion_women_survived = float(sum(women.survived))/len(women)这是一个例子。我read_CSV('Train.csv)到Python编辑器和列所示,当我但没有一列,除非我这样做:

[{newCols = data.columns.values 
newCols[-1] = 'PassengerId' 
data.columns = newCols}] 
+1

请发布原始输入数据,代码重现您的DF和产生错误的代码 – EdChum

+0

proportion_women_survived = float(sum(women.survived))/ len(women)这是一个示例。我read_CSV('Train.csv)到Python编辑器,并列时显示当我data.head()但不是一列,除非我这样做newCols = data.columns.values newCols [-1] ='PassengerId' 数据.columns = newCols – Tinkinc

+0

目前尚不清楚哪些工作不具体? 'data.columns.tolist()'显示什么? – EdChum

回答

1

你得到的错误,因为你的列名是大小写敏感的,通常你可以检查你的列真通过使用df.columns.tolist()为你担心这个,你可以小写装车后列使用:

df.columns = df.columns.str.lower() 

例子:

In [203]: 
df = pd.DataFrame(columns=list('aBCd')) 
df 

Out[203]: 
Empty DataFrame 
Columns: [a, B, C, d] 
Index: [] 

In [204]:  
df.columns.str.lower() 

Out[204]: 
Index(['a', 'b', 'c', 'd'], dtype='object')