pandas 在DataFrame上插入新行,并将另一行的内容粘贴到该新行

pftdvrlh  于 2023-02-14  发布在  其他
关注(0)|答案(1)|浏览(183)

我想插入一个新的行到我的 Dataframe 上的一个特定的索引。一旦我这样做了,我想复制和粘贴另一行的内容到新创建的行,并删除旧行。我设法创建了一个空行使用numpy,但问题是它改变了列名为数字。请协助。

import pandas as pd

df = pd.DataFrame({"var1": ["AZZBBAA", "CCDDDED", "DZZZZFD", "CDEEEEFG"],
                  "var2": [1,2,4,5]})
Output is :

    var1       var2
0   AZZBBAA     1
1   CCDDDED     2
2   DZZZZFD     4
3   CDEEEEFG    5

#inserting a new row:

import  numpy as np
df = pd.DataFrame(np.insert(df.values, 2,'', axis=0))

#output is below.
    0         1
0   AZZBBAA   1
1   CCDDDED   2
2
3   DZZZZFD   4
4   CDEEEEFG  5

上面的输出确实插入了一个新行,但是它现在更改了列名。
我想要的输出是,我可以将第4行index3“"”CDEEEEEFG 5“”“”复制到索引2上的新行,然后删除复制的行。

#desired output
    var1      var2
0   AZZBBAA     1
1   CCDDDED     2
2   CDEEEEFG    5
3   DZZZZFD     4
njthzxwz

njthzxwz1#

我认为插入是没有必要的-只重命名索引指定新的顺序,然后添加DataFrame.sort_index为预期的输出:

n = 2
m = 3

df = df.rename({m: n-0.5}).sort_index(ignore_index=True)
print (df)
       var1  var2
0   AZZBBAA     1
1   CCDDDED     2
2  CDEEEEFG     5
3   DZZZZFD     4

相关问题