2014-09-29 84 views
9

我的csv文件沒有第一列的列名稱,我想重命名它。通常,我會做data.rename(columns={'oldname':'newname'}, inplace=True),但在csv文件中沒有名字,只是''。重命名未命名的列大熊貓數據框

+2

這個csv是如何產生的?如果它是從熊貓出口的,那麼有時表明第一列是索引。在這種情況下,您可以在pd.read_csv('file.csv',index_col = [0])中讀取它時告訴大熊貓' – EdChum 2014-09-29 12:55:44

回答

0

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

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 
+2

錯誤,它不起作用 – jaycode 2015-08-06 15:48:14

+0

您需要inplace = True直接更改df。 df.rename(columns = {'':'A'},inplace = True) – user2602740 2015-09-03 18:58:10

14

當加載CSV,使用選項「index_col」像

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

index_col:int或序列或假,默認無柱爲 使用數據框的行標籤。如果給出序列,則使用MultiIndex 。如果你有在 每一行結束符格式錯誤的文件,你可能會考慮index_col =假,迫使大熊貓 使用第一列的索引(行名稱)

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

2

您可以查看使用 data.head()

當前的數據幀,如果返回「未命名:0」作爲列標題,您可以通過以下方式將其重命名:

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