我正在從csv文件導入數據幀,但無法通過名稱訪問其某些列。這是怎麼回事?無法訪問數據幀列
更具體地說:
> import pandas
> jobNames = pandas.read_csv("job_names.csv")
> print(jobNames)
job_id job_name num_judgements
0 933985 Foo 180
1 933130 Moo 175
2 933123 Goo 150
3 933094 Flue 120
4 933088 Tru 120
當我嘗試訪問的第二列,我得到一個錯誤:
> jobNames.job_name
AttributeError: 'DataFrame' object has no attribute 'job_name'
奇怪的是,我可以這樣訪問JOB_ID列:
> print(jobNames.job_id)
0 933985
1 933130
2 933123
3 933094
4 933088
Name: job_id, dtype: int64
編輯(把上下文接受的答案):
原來的CSV文件(列名)的第一行是這樣的:
job_id, job_name, num_judgements
注意每次使用後的空間逗號!這些空間保留在列名稱中:
> jobNames.columns[1]
' job_name'
它們不構成有效的Python標識符,因此這些列不可用作數據框屬性。我仍然可以訪問這些字典式:
> jobNames[' job_name']
確實,CSV 101陷阱。 –