仅名称由pandas.read_csv读取的DataSet的最后一列

时间:2016-05-06 19:02:13

标签: python database pandas

我使用函数pandas.read_csv来读取数据集。我想仅列出最后一列,我知道我可以将names作为名称列表传递给所有列,但我只想要最后一列

编辑:我对最后一栏感兴趣,因为它包含样本的分类

2 个答案:

答案 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