¿Agregar a un DataFrame vacío en Pandas?
¿Es posible agregar a un marco de datos vacío que no contiene índices ni columnas?
Intenté hacer esto, pero sigo recibiendo un marco de datos vacío al final.
p.ej
import pandas as pd
df = pd.DataFrame()
data = ['some kind of data here' --> I have checked the type already, and it is a dataframe]
df.append(data)
El resultado se ve así:
Empty DataFrame
Columns: []
Index: []
Aceptado
Esto debería funcionar:
>>> df = pd.DataFrame()
>>> data = pd.DataFrame({"A": range(3)})
>>> df = df.append(data)
>>> df
A
0 0
1 1
2 2
Dado que esto append
no sucede in situ , tendrás que almacenar el resultado si lo deseas:
>>> df = pd.DataFrame()
>>> data = pd.DataFrame({"A": range(3)})
>>> df.append(data) # without storing
>>> df
Empty DataFrame
Columns: []
Index: []
>>> df = df.append(data)
>>> df
A
0 0
1 1
2 2
Y si quieres agregar una fila, puedes usar un diccionario:
df = pd.DataFrame()
df = df.append({'name': 'Zed', 'age': 9, 'height': 2}, ignore_index=True)
que te da:
age height name
0 9 2 Zed
Puede concatenar los datos de esta manera:
InfoDF = pd.DataFrame()
tempDF = pd.DataFrame(rows,columns=['id','min_date'])
InfoDF = pd.concat([InfoDF,tempDF])
Las respuestas son muy útiles, pero como pandas.DataFrame.append
quedaron obsoletas (como ya lo mencionaron varios usuarios) y las respuestas que utilizan pandas.concat
no son "Fragmentos de código ejecutables", me gustaría agregar el siguiente fragmento:
import pandas as pd
df = pd.DataFrame(columns =['name','age'])
row_to_append = pd.DataFrame([{'name':"Alice", 'age':"25"},{'name':"Bob", 'age':"32"}])
df = pd.concat([df,row_to_append])
Así df
es ahora:
name age
0 Alice 25
1 Bob 32