将修改后的子帧嵌入到原始子帧中

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

【讨论】:

非常感谢。我检查了它,这正是我所需要的。

以上是关于将修改后的子帧嵌入到原始子帧中的主要内容,如果未能解决你的问题,请参考以下文章

Pandas Dataframe:将对角线子帧减少为单行或如何逐个填充数据帧

5G NR 的子载波

[4G&5G专题-87]:物理层 - 4G LTE的帧结构

C++ 多线程数据管理

4G与5G网络有哪些区别

Spark:如何重用在数据帧中定义了所有字段的相同数组模式