53

そのような空のデータフレームがある場合:

columns = ['Date', 'Name', 'Action','ID']
df = pd.DataFrame(columns=columns) 

この新しく作成されたデータフレームに新しい行を追加する方法はありますか? 現在、辞書を作成して入力し、最後に辞書をデータフレームに追加する必要があります。もっと直接的な方法はありますか?

4

3 に答える 3

99

これを試して:

df.loc[len(df)]=['8/19/2014','Jun','Fly','98765'] 

警告: この方法は、インデックスに「穴」がない場合にのみ機能します。たとえば、インデックスが 0、1、3 の 3 つの行を持つデータフレームがあるとします (たとえば、行番号 2 を削除したため)。次に、len(df) = 3 であるため、上記のコマンドでは新しい行は追加されず、行番号 3 が上書きされます。

于 2014-08-19T06:33:20.680 に答える
45

今後の pandas 0.13 バージョンでは、loc存在しないインデックス データに行を追加できます。ただし、内部的には、これにより DataFrame 全体のコピーが作成されるため、効率的な操作ではないことに注意してください。

説明はここにあり、この新機能は拡大設定と呼ばれます。

于 2013-10-14T20:04:58.180 に答える
5

古典的なdict + appendと比較して醜い別のアプローチですが、それは機能します:

df = df.T

df[0] = ['1/1/2013', 'Smith','test',123]

df = df.T

df
Out[6]: 
       Date   Name Action   ID
0  1/1/2013  Smith   test  123
于 2013-10-14T22:11:13.033 に答える