所以在这里我将一个csv文件导入到python中,然后尝试对第一列做一些事情:'输入',但我不断收到消息:
" AttributeError:' DataFrame'对象没有属性' Type' &#34 ;.
按名称打印列不起作用,但按位置打印。为什么按名称引用它不起作用?它适用于所有其他列。
import pandas as pd
data = pd.read_csv('ResturantData.csv', sep=',', index_col=False)
df = pd.DataFrame(data=data)
print(df.head())
print(df.columns)
print(df.iloc[:, 0]) #Works!
print(df.Type) #Doesn't work :/
print(df['Type']) #Doesn't work :/
以下是DataFrame的样子;
Type Size Bill Tip
0 Dinner 5 126 12
1 Dinner 4 103 12
2 Dinner 4 94 11
3 Breakfast 4 87 10
4 Dinner 4 76 7
谢谢!
答案 0 :(得分:0)
Type
列的第一个字符不是ascii。它是'\ufeff'
。
这是一种从列名中删除非ascii的方法。
df.rename(columns=lambda x: ''.join([y for y in x if ord(y) < 128]), inplace=True)
df.Type
0 Dinner
1 Dinner
2 Dinner
3 Breakfast
4 Dinner
Name: Type, dtype: object