2013-04-08 11 views
22

Ben buna benzer bir DataFrame nesnesi vardır:Bir veri dizisinde rasgele bir sıraya pandalar kullanarak bir satır eklemek mümkün mü?

 onset length 
1  2.215 1.3 
2  23.107 1.3 
3  41.815 1.3 
4  61.606 1.3 
... 

Ne yapmak istiyorum bazı endeks değeri ile belirtilen bir pozisyonda bir satır ekleyin ve buna göre aşağıdaki endeks güncelleme olduğunu. E.g .:

 onset length 
1  2.215 1.3 
2  23.107 1.3 
3  30.000 1.3 # new row 
4  41.815 1.3 
5  61.606 1.3 
... 

Bunu yapmanın en iyi yolu ne olurdu?

cevap

25

Dilediğiniz gibi almak için dilim kullanabilir ve kullanabilirsiniz.

line = DataFrame({"onset": 30.0, "length": 1.3}, index=[3]) 
df2 = concat([df.ix[:2], line, df.ix[3:]]).reset_index(drop=True) 

Bu, örnek çıktınızdaki veri çerçevesini üretecektir. Bildiğim kadarıyla, concat pandalarda insert tipi bir operasyon elde etmek için en iyi yöntemdir, ama kuşkusuz hiçbir şekilde panda uzmanı değilim.

+0

@bdiamante Merhaba, lütfen şu soruya bakın https://stackoverflow.com/questions/44599589/inserting-new-rows-in-pandas-data-frame-at-specific-indices – Liza

İlgili konular