2013-05-16 122 views
100

是否可以附加到不包含任何索引或列的空白數據框?追加到Pandas中的空數據框?

我試圖做到這一點,但持續看到在最後一個空的數據幀。

例如

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

結果看起來是這樣的:

Empty DataFrame 
Columns: [] 
Index: [] 
+0

回答類似的問題在這裏:http://stackoverflow.com/questions/13784192/creating-an-empty-pandas-dataframe-then-filling-it/41529411#41529411。 (newDF = newDF.append(oldDF,ignore_index = True)#忽略索引是可選的# – geekidharsh

回答

197

這應該工作:

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

append不就地發生,所以你必須存儲輸出如果你想:

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

謝謝!這工作!我沒有意識到我必須存儲輸出......我可能應該更好地閱讀文檔,但是我很欣賞它,@DSM! – ericmjl

+5

我總是忘記你需要分配它! –

+18

實際上是追加到位不發生纔是最重要的信息在這裏;) – refuzee

56

如果你想添加的行,你可以使用字典:

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

它給你:

age height name 
0 9  2 Zed 
+1

這很酷!謝謝 – geekidharsh

+1

是的!這正是我一直在尋找的。 – Cai

6

可以Concat的這樣的數據:

InfoDF = pd.DataFrame() 
tempDF = pd.DataFrame(rows,columns=['id','min_date']) 

InfoDF = pd.concat([InfoDF,tempDF]) 
+0

謝謝,我嘗試了concat。但是,爲什麼這兩種追加和CONCAT如果他們可以做同樣的工作 –

+0

這線程可能會給出一個很好的解釋:https://stackoverflow.com/questions/15819050/pandas-dataframe-concat-vs-append – Deepish

相關問題