これを達成する1つの方法は
>>> pd.DataFrame(np.array([[2, 3, 4]]), columns=['A', 'B', 'C']).append(df, ignore_index=True)
Out[330]:
A B C
0 2 3 4
1 5 6 7
2 7 8 9
通常、系列ではなくデータフレームを追加するのが最も簡単です。あなたの場合、新しい行を(先頭IDで)(先頭のIDで)したくて、関数がないpd.prepend()
ため、最初に新しいデータフレームを作成してから、古いデータフレームを追加します。
ignore_index
データフレーム内の古い進行中のインデックスを無視し、最初の行が実際にindex 1
で再開するのではなく、実際にindexで始まることを確認します0
。
典型的な免責事項:Cetero censeo ...行を追加することは非常に非効率的な操作です。パフォーマンスを重視し、最初に正しい(長い)インデックスでデータフレームを作成し、追加の行をデータフレームに挿入するだけの場合は、確実にそれを行う必要があります。見る:
>>> index = np.array([0, 1, 2])
>>> df2 = pd.DataFrame(columns=['A', 'B', 'C'], index=index)
>>> df2.loc[0:1] = [list(s1), list(s2)]
>>> df2
Out[336]:
A B C
0 5 6 7
1 7 8 9
2 NaN NaN NaN
>>> df2 = pd.DataFrame(columns=['A', 'B', 'C'], index=index)
>>> df2.loc[1:] = [list(s1), list(s2)]
これまでのところ、あなたが持っていたものがありますdf
:
>>> df2
Out[339]:
A B C
0 NaN NaN NaN
1 5 6 7
2 7 8 9
ただし、次のように行を簡単に挿入できます。スペースは事前に割り当てられているため、これはより効率的です。
>>> df2.loc[0] = np.array([2, 3, 4])
>>> df2
Out[341]:
A B C
0 2 3 4
1 5 6 7
2 7 8 9
s1.values
しlist(s1)
てまったく新しいリストを作成するのではなく、使用する方がよいことに注意してくださいlist(s1)
。