小编Toa*_*ady的帖子

将两个数据帧与一些公共列合并,其中公共列的组合需要是自定义函数

我的问题与Merge pandas 数据框非常相似,具有列操作,但它不能满足我的需求。

假设我有两个数据框,例如(请注意,数据框内容可以是浮点数而不是布尔值):

left = pd.DataFrame({0: [True, True, False], 0.5: [False, True, True]}, index=[12.5, 14, 15.5])
right = pd.DataFrame({0.7: [True, False, False], 0.5: [True, False, True]}, index=[12.5, 14, 15.5])
Run Code Online (Sandbox Code Playgroud)

        0.5    0.7
12.5   True   True
14.0  False  False
15.5   True  False
Run Code Online (Sandbox Code Playgroud)

剩下

        0.0    0.5
12.5   True  False
14.0   True   True
15.5  False   True
Run Code Online (Sandbox Code Playgroud)

如您所见,它们具有相同的索引,并且其中一列是通用的。在现实生活中,可能会有更常见的列,例如 1.0 或其他尚未定义的数字,并且每一侧都有更多独特的列。我需要组合两个数据帧,以便保留所有唯一列,并使用特定函数组合公共列,例如本示例的布尔 OR,而两个数据帧的索引始终相同。

所以结果应该是:

结果

        0.0   0.5    0.7
12.5   True  True   True
14.0   True  True  False
15.5  False  True  False
Run Code Online (Sandbox Code Playgroud)

在现实生活中,需要组合的数据帧不止两个,但它们可以一个接一个地依次组合成一个空的第一个数据帧。 …

python merge concat pandas

5
推荐指数
1
解决办法
2347
查看次数

标签 统计

concat ×1

merge ×1

pandas ×1

python ×1