Salah satu cara untuk mencapainya adalah
>>> 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
Umumnya, yang paling mudah adalah menambahkan kerangka data, bukan seri. Dalam kasus Anda, karena Anda ingin baris baru menjadi "di atas" (dengan id awal), dan tidak ada fungsipd.prepend()
, pertama-tama saya membuat kerangka data baru dan kemudian menambahkan yang lama.
ignore_index
akan mengabaikan indeks lama yang sedang berlangsung di dataframe Anda dan memastikan bahwa baris pertama benar-benar dimulai dengan indeks 1
alih-alih memulai ulang dengan indeks0
.
Penafian Umum: Cetero censeo ... menambahkan baris adalah operasi yang sangat tidak efisien. Jika Anda peduli dengan kinerja dan entah bagaimana dapat memastikan untuk terlebih dahulu membuat kerangka data dengan indeks yang benar (lebih panjang) dan kemudian hanya memasukkan baris tambahan ke dalam kerangka data, Anda pasti harus melakukannya. Lihat:
>>> 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)]
Sejauh ini, kami memiliki apa yang Anda miliki sebagai df
:
>>> df2
Out[339]:
A B C
0 NaN NaN NaN
1 5 6 7
2 7 8 9
Tetapi sekarang Anda dapat dengan mudah memasukkan baris sebagai berikut. Karena ruang telah dialokasikan sebelumnya, ini lebih efisien.
>>> 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
daripadalist(s1)
karena Anda akan membuat daftar yang sama sekali baru menggunakanlist(s1)
.