将pandas DataFrame行复制到多个其他行

Ped*_*raz 7 python pandas

简单实用的问题,但我找不到解决方案.

我看过的问题如下:

修改pandas数据帧中的行子集

一次更改pandas DataFrame的多个列中的某些值

使用pandas将列从一个DataFrame复制到另一个DataFrame的最快方法?

使用pandas.DataFrame中的复杂条件进行选择

这些与我之间的关键区别在于我不需要插入单个值,而是插入一行.

我的问题是,我拿起一行数据帧,比方说df1.因此我有一个系列.

现在我有了这个其他数据框,df2我根据标准选择了多行,我想将该系列复制到所有那些行.

DF1:

Index/Col   A   B  C
1           0   0  0
2           0   0  0
3           1   2  3
4           0   0  0
Run Code Online (Sandbox Code Playgroud)

DF2:

Index/Col   A   B  C
1           0   0  0
2           0   0  0
3           0   0  0
4           0   0  0
Run Code Online (Sandbox Code Playgroud)

我想要完成的是将df1 [3]插入到行df2 [2]和df3 [3]中.所以像非工作代码:

series = df1[3]
df2[df2.index>=2 and df2.index<=3] = series
Run Code Online (Sandbox Code Playgroud)

回国

DF2:

Index/Col   A   B  C
1           0   0  0
2           1   2  3
3           1   2  3
4           0   0  0
Run Code Online (Sandbox Code Playgroud)

EdC*_*ica 12

使用loc并传递感兴趣的索引标签列表,在以下逗号后:表示我们要设置所有列值,然后我们分配系列但调用属性.values,使其成为一个numpy数组.否则你会得到一个ValueError因为你打算用一行覆盖2行的形状不匹配,如果它是a Series那么它将不会按你的意愿对齐:

In [76]:
df2.loc[[2,3],:] = df1.loc[3].values
df2

Out[76]:
   A  B  C
1  0  0  0
2  1  2  3
3  1  2  3
4  0  0  0
Run Code Online (Sandbox Code Playgroud)