python - one - union pandas dataframes




Modifica di un nome di colonna specifico in DataFrame panda (4)

Pandas 0.21 ha ora un parametro axis

Il metodo rename ha ottenuto un parametro axis per abbinare la maggior parte del resto dell'API pandas.

Quindi, oltre a questo:

df.rename(columns = {'two':'new_name'})

Tu puoi fare:

df.rename({'two':'new_name'}, axis=1)

o

df.rename({'two':'new_name'}, axis='columns')

Stavo cercando un modo elegante per modificare un nome di colonna specificato in un DataFrame .

riprodurre i dati ...

import pandas as pd
d = {
         'one': [1, 2, 3, 4, 5],
         'two': [9, 8, 7, 6, 5],
         'three': ['a', 'b', 'c', 'd', 'e']
    }
df = pd.DataFrame(d)

La soluzione più elegante che ho trovato finora ...

names = df.columns.tolist()
names[names.index('two')] = 'new_name'
df.columns = names

Speravo in un semplice one-liner ... questo tentativo fallì ...

df.columns[df.columns.tolist().index('one')] = 'another_name'

Qualsiasi suggerimento ricevuto con gratitudine.


Che dire?

df.columns.values[2] = "new_name"

Il seguente codice breve può aiutare:

df3 = df3.rename(columns={c: c.replace(' ', '') for c in df3.columns})

Rimuovi spazi dalle colonne.


Per rinominare le colonne qui è quella semplice che funzionerà sia per Default(0,1,2,etc;) per le colonne esistenti ma non molto utile per un set di dati più grande (con molte colonne).

Per un set di dati più ampio possiamo suddividere le colonne di cui abbiamo bisogno e applicare il seguente codice:

df.columns = ['new_name','new_name1','old_name']




pandas