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_index
veri çerçevenizdeki eski devam eden dizini yok sayacak ve ilk satırın dizin 1
ile 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.values
yerine kullanmanın daha iyi olduğunu unutmayın .list(s1)
list(s1)