将修改后的子帧嵌入到原始子帧中
Posted
技术标签:
【中文标题】将修改后的子帧嵌入到原始子帧中【英文标题】:Embedding modified sub-frame into the original one 【发布时间】:2016-11-02 10:52:00 【问题描述】:我有 2 个 pandas 数据框,其中一个包含第一个修改后的选定行(它们具有相似的列)。 为简单起见,下面的框架说明了这个问题。
df1 = df2 =
A B C A B C
0 1 2 3 1 20 30 40
1 2 3 4 3 40 50 60
2 3 4 5
3 4 5 6
有没有比下面的代码更有效和 Pythonic 的方法,通过覆盖值将 df2 嵌入到 df1 中? (使用高维帧)
for index, row in df2.iterrows():
df1.ix[index,:] = df2.ix[index, :]
导致:
df1 =
A B C
0 1 2 3
1 20 30 40
2 3 4 5
3 40 50 60
【问题讨论】:
df1.update(df2)
应该可以工作
【参考方案1】:
您可以使用update
用另一个df 更新一个df,其中行和列标签同意值已更新,您需要使用astype
强制转换为int
,因为dtype 已更改为float due到缺失值:
In [21]:
df1.update(df2)
df1 = df1.astype(int)
df1
Out[21]:
A B C
0 1 2 3
1 20 30 40
2 3 4 5
3 40 50 60
【讨论】:
非常感谢。我检查了它,这正是我所需要的。以上是关于将修改后的子帧嵌入到原始子帧中的主要内容,如果未能解决你的问题,请参考以下文章