我使用函数pandas.read_csv
来读取数据集。我想仅列出最后一列,我知道我可以将names
作为名称列表传递给所有列,但我只想要最后一列
编辑:我对最后一栏感兴趣,因为它包含样本的分类
答案 0 :(得分:0)
与index
DataFrame
的{{1}}一样,必须由您,文件或自动定义。
我这样做:
columns
答案 1 :(得分:0)
您可以使用nrows
参数只读取一行以解析列名称:
cols = pd.read_csv(filename, nrows=1).columns.tolist()
现在您可以使用names
参数:
df = pd.read_csv(filename, skiprows=1, names=cols[:-1] + ['last_col_new_name'])
测试数据:
col1,col2,col3,col4,colXXX
1,2,3,4,A
11,12,13,14,B
21,22,23,24,B
测试:
In [248]: filename
Out[248]: 'd:/temp/.data/aaa.csv'
In [249]: pd.read_csv(filename)
Out[249]:
col1 col2 col3 col4 colXXX
0 1 2 3 4 A
1 11 12 13 14 B
2 21 22 23 24 B
In [250]: cols = pd.read_csv(filename, nrows=1).columns.tolist()
In [251]: cols
Out[251]: ['col1', 'col2', 'col3', 'col4', 'colXXX']
In [252]: df = pd.read_csv(filename, skiprows=1, names=cols[:-1] + ['last_col_new_name'])
In [253]: df
Out[253]:
col1 col2 col3 col4 last_col_new_name
0 1 2 3 4 A
1 11 12 13 14 B
2 21 22 23 24 B