【发布时间】:2019-08-10 13:27:11
【问题描述】:
我正在使用 pandas 读取一个简单的 csv 文件:
import pandas as pd
df = pd.read_csv('spread.csv', header=0)
df
但是试图列出列名却没有得到:
list(df.columns.names)
输出只是无。这似乎与上面的输出或documentation 不一致。我做错了什么还是这里发生了什么?
【问题讨论】:
我正在使用 pandas 读取一个简单的 csv 文件:
import pandas as pd
df = pd.read_csv('spread.csv', header=0)
df
但是试图列出列名却没有得到:
list(df.columns.names)
输出只是无。这似乎与上面的输出或documentation 不一致。我做错了什么还是这里发生了什么?
【问题讨论】:
您没有分配 columns names ,这就是为什么当您调用 names 时默认输出显示为 [None]
df.columns.names
Out[934]: FrozenList([None])
list(df.columns.names)
Out[935]: [None]
df.columns.names=['SOMETHING']
df
Out[931]:
SOMETHING id A B
0 1 1 2
1 2 2 3
df.columns.names
Out[932]: FrozenList(['SOMETHING'])
list(df.columns.names)
Out[937]: ['SOMETHING']
如果您只想要数据框列名称
list(df)
Data Input
data = '''\
id A B
1 1 2
2 2 3 '''
import io
import pandas as pd
df = pd.read_csv(io.StringIO(data), sep='\s+')
【讨论】:
如果您只想获取 A、B、C、D 列名,您只需要这样做
print(df.columns)
【讨论】: