Pandalar'daki boş bir DataFrame'e eklensin mi?


212

Herhangi bir dizin veya sütun içermeyen boş bir veri çerçevesine eklemek mümkün mü?

Bunu yapmaya çalıştım ama sonunda boş bir veri çerçevesi almaya devam ettim.

Örneğin

df = pd.DataFrame()
data = ['some kind of data here' --> I have checked the type already, and it is a dataframe]
df.append(data)

Sonuç şuna benzer:

Empty DataFrame
Columns: []
Index: []

Benzer bir soruyu burada yanıtladı: stackoverflow.com/questions/13784192/… . temelde böyle bir şeynewDF = pd.DataFrame() #creates a new dataframe that's empty newDF = newDF.append(oldDF, ignore_index = True) # ignoring index is optional
geekidharsh

Ne ekle? Tek bir değer mi? Python listesi? Pandalar Serisi? Başka bir Dataframe? Örnek izleme yorumunuz, başka bir veri çerçevesi anlamına geldiğinizi gösteriyor - bu nedenle, örnek kodunuzda bir veri çerçevesi verin :)
smci

Ve "Sonuç böyle görünüyor" dediğinde, umarım doğrudan yapmaya çalışmıyorsun print(df.append(data)), çünkü append()Python'da her zaman None döndürür
smci

Yanıtlar:


388

Bu işe yarar:

>>> df = pd.DataFrame()
>>> data = pd.DataFrame({"A": range(3)})
>>> df.append(data)
   A
0  0
1  1
2  2

Ancak bu appendyerinde olmaz , bu nedenle çıktıyı depolamanız gerekir:

>>> df
Empty DataFrame
Columns: []
Index: []
>>> df = df.append(data)
>>> df
   A
0  0
1  1
2  2

8
Teşekkür ederim! İşe yaradı! Çıktıyı saklamak zorunda olduğumun farkında değildim ... Muhtemelen belgeleri daha iyi okumalıydım, ama takdir ediyorum, @DSM!
ericmjl

9
her zaman atamanız gerektiğini unutuyorum!
Andy B

66
aslında bu
ekin

6
Panda örneklerinin neden bunu göstermediğine dair bir ipucu yok. Yardımınız için teşekkürler!
Drew Szurko

2
en azından haziran 2018'de yeni satırların kendilerini otomatik olarak dizine eklemesini istiyorsanız, df.append (data, ignore_index = True) yazmanız gerektiğini unutmayın. Harika cevap için teşekkürler!
Adam B

98

Ve bir satır eklemek istiyorsanız, bir sözlük kullanabilirsiniz:

df = pd.DataFrame()
df = df.append({'name': 'Zed', 'age': 9, 'height': 2}, ignore_index=True)

hangi size verir:

   age  height name
0    9       2  Zed

Özellikle büyük verilerle uğraşırken düşük performans
raullalves

2
Bunu önerilen diğer alternatiflerle ilişkilendirebilir misiniz, @raullalves?
Bouncner

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.