usar una tablas sumar recorrer promedio para lista leer funciones elementos datos data contar como columnas python pandas append dataframe

python - una - recorrer data frame pandas



¿Anexar una lista o serie a un DataFrame de pandas como una fila? (6)

Por lo tanto, he inicializado un DataFrame de pandas vacío y me gustaría agregar iterativamente listas (o Series) como filas en este DataFrame. Cual es la mejor manera de hacer esto?


¿Podrías hacer algo como esto?

>>> import pandas as pd >>> df = pd.DataFrame(columns=[''col1'', ''col2'']) >>> df = df.append(pd.Series([''a'', ''b''], index=[''col1'',''col2'']), ignore_index=True) >>> df = df.append(pd.Series([''d'', ''e''], index=[''col1'',''col2'']), ignore_index=True) >>> df col1 col2 0 a b 1 d e

¿Alguien tiene una solución más elegante?


A veces es más fácil hacer todo lo que se agrega fuera de los pandas, luego, simplemente crea el DataFrame en una sola toma.

>>> import pandas as pd >>> list=[[''a'',''b'']] >>> list.append([''e'',''f'']) >>> df=pd.DataFrame(list,columns=[''col1'',''col2'']) col1 col2 0 a b 1 e f


Aquí hay una solución simple y tonta:

>>> import pandas as pd >>> df = pd.DataFrame() >>> df = df.append({''foo'':1, ''bar'':2}, ignore_index=True)


Si desea agregar una Serie y usar el índice de la Serie como columnas del Marco de Datos, solo necesita agregar la Serie entre paréntesis:

In [1]: import pandas as pd In [2]: df = pd.DataFrame() In [3]: row=pd.Series([1,2,3],["A","B","C"]) In [4]: row Out[4]: A 1 B 2 C 3 dtype: int64 In [5]: df.append([row],ignore_index=True) Out[5]: A B C 0 1 2 3 [1 rows x 3 columns]

Sin Whitout the ignore_index=True , no obtiene el índice correcto.


Siguiendo con la respuesta de Mike Chirico ... si quieres agregar una lista una vez que el marco de datos ya está poblado ...

>>> list = [[''f'',''g'']] >>> df = df.append(pd.DataFrame(list, columns=[''col1'',''col2'']),ignore_index=True) >>> df col1 col2 0 a b 1 d e 2 f g


df = pd.DataFrame(columns=list("ABC")) df.loc[len(df)] = [1,2,3]