重命名未命名的列pandas数据帧

时间:2014-09-29 11:21:51

标签: python pandas csv

我的csv文件没有第一列的列名,我想重命名它。通常,我会data.rename(columns={'oldname':'newname'}, inplace=True),但csv文件中没有名称,只是''。

8 个答案:

答案 0 :(得分:19)

加载csv时,请使用' index_col'像

pd.read_csv('test.csv', index_col=0)
  

index_col:int或sequence或False,default None要用作的列   DataFrame的行标签。如果给出了序列,则为MultiIndex   用来。如果您有一个格式错误的文件,其末尾有分隔符   每一行,您可以考虑使用index_col = False来强制将pandas强加给而不是   使用第一列作为索引(行名称)

http://pandas.pydata.org/pandas-docs/dev/generated/pandas.io.parsers.read_csv.html

答案 1 :(得分:12)

您可以使用查看当前数据框 data.head()

如果返回'Unnamed: 0'作为列标题,您可以按以下方式重命名:

data.rename( columns={'Unnamed: 0':'new column name'}, inplace=True )

答案 2 :(得分:1)

该解决方案可以改进为data.rename( columns={0 :'new column name'}, inplace=True )。无需使用'Unnamed: 0',只需使用列号(在这种情况下为0,然后提供'new column name')即可。

答案 3 :(得分:0)

尝试以下代码,

df.columns = [‘A’, ‘B’, ‘C’, ‘D’]

答案 4 :(得分:0)

通常,空白列的名称是根据其索引命名的

例如,假设第4列未命名。

df.rename({'unnamed:3':'new_name'},inplace=True)

通常这样命名,因为列的索引从零开始。

答案 5 :(得分:0)

这应该有效:

data.rename( columns={0 :'Articles'}, inplace=True )

答案 6 :(得分:-1)

它有一个名称,名称只是''(空字符串)。

In [2]: df = pd.DataFrame({'': [1, 2]})

In [3]: df
Out[3]: 

0  1
1  2

In [4]: df.rename(columns={'': 'A'})
Out[4]: 
   A
0  1
1  2

答案 7 :(得分:-1)

第一列/行可能没有名称,因为它是索引而不是列/行。这就是为什么您需要像这样重命名索引:

df.index.name = 'new_name'