2017-04-23 70 views
1

我正在閱讀csv,我想覆蓋前兩列名稱。熊貓根據位置覆蓋列名稱

  • 我不能使用df.rename(columns={0:'name 1', 1:'name 2'})因爲列沒有所謂的0和1。他們的名字,我只是想扔出來。

  • 好像

    df.columns.values[0] = 'name 1' 
    df.columns.values[1] = 'name 2' 
    

    有嚴重的問題,因爲事後,df['name 1']給了我一個KeyError異常。

  • 什麼是理想的將是pd.read_csv(file, names=['name 1', 'name 2', ...]。奇怪的是,這將col 3重命名爲「Ellipsis」,並沒有達到預期效果。

有關如何在熊貓身上做到這一點的任何想法?

回答

4

試試這個:

df.columns = ['name 1', 'name 2'] + df.columns[2:].tolist() 
+0

感謝@MaxU!這工作。 –

+0

@AlexLenail,歡迎您:) – MaxU