2013-04-08 2 views
22

Tôi có một đối tượng DataFrame tương tự như thế này:Có thể chèn một hàng ở vị trí tùy ý trong một khung dữ liệu bằng cách sử dụng gấu trúc không?

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

Những gì tôi muốn làm là chèn một hàng tại một vị trí xác định bởi một số giá trị chỉ số và cập nhật các chỉ số sau đây cho phù hợp. Ví dụ:

 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 
... 

Cách tốt nhất để làm điều này là gì?

Trả lời

25

Bạn có thể cắt và sử dụng concat để có được những gì bạn muốn.

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

Điều này sẽ tạo khung dữ liệu trong kết quả ví dụ của bạn. Theo như tôi biết, concat là phương pháp tốt nhất để đạt được một loại hoạt động chèn trong gấu trúc, nhưng thừa nhận rằng tôi không có nghĩa là một chuyên gia gấu trúc.

+0

@bdiamante Xin chào, vui lòng xem câu hỏi này tại đây https://stackoverflow.com/questions/44599589/inserting-new-rows-in-pandas-data-frame-at-specific-indices – Liza