插入多行以建立索引

时间:2018-08-03 22:07:59

标签: python pandas insert

我正在寻找一种在DataFrame中间插入行的简洁方法,以便将插入点之后的行向前推。看起来像这样:

Data Frame A      Data Frame B
Idx | C1 | C2     Idx | C1 | C2 
----+----+----    ----+----+----
 0  | 12 | 31      0  | 49 | 67 
 1  | 64 | 98      1  | 25 | 63 
 2  | 47 | 10

Inserting B to A[2]:
Idx | C1 | C2
----+----+----
 0  | 12 | 31
 1  | 64 | 98
 2  | 49 | 67     # B[0]
 3  | 25 | 63     # B[1]
 4  | 47 | 10

必须对多个数据帧或原始数据片段进行此操作。总是可以选择通过pd.concat以及切片索引和插入索引进行循环,但是对于pandas这样的库,我希望有人已经提出了我没有遇到的答案。

append不能正常工作,但是已经接近了。实际上存在df.insert,但它是用于列的。我将不胜感激任何指向甚至有用的文档的指针。

沙箱:

a = pd.DataFrame([[1, 2], [2, 3], [3, 4]])
b = pd.DataFrame([[4, 5], [5, 6]])

2 个答案:

答案 0 :(得分:1)

我认为最好的方法是切片和连接:

df = A.loc[:i]
df.append(B,ignore_index = True)
df.append(A.loc[i:],ignore_index=True)

答案 1 :(得分:0)

beta1为插入位置。 var myarray = [2, 2, 2]; var total = 0; for (var i = 0; i < myarray.length; i++) { total += myarray[i]; } alert(`The total is ${total}!`); 指的是确切位置,而不是基于索引

i

i是您想要的数据框