How to set in pandas the first column and row as index?

前端 未结 3 1246
伪装坚强ぢ
伪装坚强ぢ 2021-02-02 06:17

When I read in a CSV, I can say pd.read_csv(\'my.csv\', index_col=3) and it sets the third column as index.

How can I do the same if I have a pandas datafra

相关标签:
3条回答
  • 2021-02-02 06:43

    Making the first (or n-th) column the index in increasing order of verboseness:

    df.set_index(list(df)[0])
    df.set_index(df.columns[0])
    df.set_index(df.columns.tolist()[0])
    

    Making the first (or n-th) row the index:

    df.set_index(df.iloc[0].values)
    

    You can use both if you want a multi-level index:

    df.set_index([df.iloc[0], df.columns[0]])
    

    Observe that using a column as index will automatically drop it as column. Using a row as index is just a copy operation and won't drop the row from the DataFrame.

    0 讨论(0)
  • 2021-02-02 07:00

    Maybe try set_index()?

    df = df.set_index([2])
    
    0 讨论(0)
  • 2021-02-02 07:01

    You can try this regardless of the number of rows

    df = pd.read_csv('data.csv', index_col=0)
    
    0 讨论(0)
提交回复
热议问题