熊猫按位置覆盖列名称

Ale*_*ail 2 python dataframe pandas

我正在阅读一个csv,并且我想覆盖前两列的名称。

  • 我不能使用,df.rename(columns={0:'name 1', 1:'name 2'})因为这些列没有被称为0和1。它们有名称,我只想把它们扔掉。

  • 这好像是

    df.columns.values[0] = 'name 1'
    df.columns.values[1] = 'name 2'
    
    Run Code Online (Sandbox Code Playgroud)

    有严重的问题,因为事后df['name 1']给我一个KeyError。

  • 理想的是pd.read_csv(file, names=['name 1', 'name 2', ...]。奇怪的是,这将col 3重命名为“ Ellipsis”,但效果不理想。

关于如何合理地在熊猫中做到这一点的任何想法?

Max*_*axU 5

尝试这个:

df.columns = ['name 1', 'name 2'] + df.columns[2:].tolist()
Run Code Online (Sandbox Code Playgroud)