2013-05-16 15 views
100

インデックスまたは列を含まない空のデータフレームに追加することはできますか?パンダの空のデータフレームに追加していますか?

私はこれをやろうとしましたが、最後に空のデータフレームを取得し続けています。

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 = pd.DataFrame()#空の新しいデータフレームを作成します 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

ありがとう、私は連結を試みました。しかし、同じ仕事をすることができれば、なぜ付加して連結するのですか? –

+0

このスレッドは良い説明を与えるかもしれません:https://stackoverflow.com/questions/15819050/pandas-dataframe-concat-vs-append – Deepish

関連する問題