简单实用的问题,但我找不到解决方案.
我看过的问题如下:
使用pandas将列从一个DataFrame复制到另一个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)
| 归档时间: |
|
| 查看次数: |
10921 次 |
| 最近记录: |