Bunu başarmanın bir yolu
>>> 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
Genel olarak, en kolayı seri değil, veri çerçevesi eklemektir. Sizin durumunuzda, yeni satırın "üstte" olmasını (başlangıç id'si ile) olmasını istediğinizden ve hiçbir işlev olmadığından, pd.prepend()önce yeni veri çerçevesini oluşturup sonra eskisini ekliyorum.
ignore_indexveri çerçevenizdeki eski devam eden dizini yok sayacak ve ilk satırın dizin 1ile yeniden başlamak yerine gerçekten dizinle başlamasını sağlayacaktır 0.
Tipik Sorumluluk Reddi: Cetero censeo ... satır eklemek oldukça verimsiz bir işlemdir. Performansta önem ve her nasılsa ilk doğru (uzun) indeksi ve sonra sadece bir dataframe oluşturmak için garanti altına alabiliyorsa takmadan dataframe içine ilave bir satır, kesinlikle yapmalıyız. Görmek:
>>> 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)]
Şimdiye kadar sahip olduğunuz şeye sahibiz df:
>>> df2
Out[339]:
A B C
0 NaN NaN NaN
1 5 6 7
2 7 8 9
Ama şimdi satırı aşağıdaki gibi kolayca ekleyebilirsiniz. Alan önceden tahsis edildiğinden, bu daha verimlidir.
>>> 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.valuesyerine kullanmanın daha iyi olduğunu unutmayın .list(s1)list(s1)