Cree una nueva columna en el dataframe de Panda agregando valores de otras columnas

Tengo un dataframe con valores como

AB 1 4 2 6 3 9 

Necesito agregar una nueva columna agregando valores de la columna A y B, como

 ABC 1 4 5 2 6 8 3 9 12 

Creo que esto se puede hacer usando la función lambda, pero no puedo averiguar cómo hacerlo.

Muy simple:

 df['C'] = df['A'] + df['B'] 

La forma más sencilla sería utilizar la respuesta de DeepSpace. Sin embargo, si realmente desea utilizar una función anónima, puede usar aplicar:

 df['C'] = df.apply(lambda row: row['A'] + row['B'], axis=1) 

Podría usar la función de sum para lograr eso como @EdChum se menciona en el comentario:

 df['C'] = df[['A', 'B']].sum(axis=1) In [245]: df Out[245]: ABC 0 1 4 5 1 2 6 8 2 3 9 12 

Construyendo un poco más sobre la respuesta de Anton, puedes agregar todas las columnas así:

 df['sum'] = df[list(df.columns)].sum(axis=1) 

A partir de la versión 0.16.0 de Pandas, puede usar la assign siguiente manera:

 df = pd.DataFrame({"A": [1,2,3], "B": [4,6,9]}) df.assign(C = df.A + df.B) # Out[383]: # ABC # 0 1 4 5 # 1 2 6 8 # 2 3 9 12 

Puede agregar varias columnas de esta manera de la siguiente manera:

 df.assign(C = df.A + df.B, Diff = df.B - df.A, Mult = df.A * df.B) # Out[379]: # ABC Diff Mult # 0 1 4 5 3 4 # 1 2 6 8 4 12 # 2 3 9 12 6 27 

Podrías hacerlo:

 df['C'] = df.sum(axis=1) 

Si solo quieres hacer valores numéricos:

 df['C'] = df.sum(axis=1, numeric_only=True) 

Quería agregar un comentario que respondiera al mensaje de error que recibía n00b pero no tengo suficiente reputación. Entonces mi comentario es una respuesta en caso de que ayude a alguien …

n00b dijo:

Recibo la siguiente advertencia: un valor está tratando de establecerse en una copia de un sector desde un DataFrame. Intente usar .loc [row_indexer, col_indexer] = value en su lugar

Recibió este error porque cualquier manipulación que haya hecho en su dataframe antes de crear df['C'] creó una vista en el dataframe en lugar de una copia. El error no surgió del cálculo simple df['C'] = df['A'] + df['B'] sugerido por DeepSpace.

Eche un vistazo a Devolver una vista frente a una copia de documentos.