我的问题与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)
在现实生活中,需要组合的数据帧不止两个,但它们可以一个接一个地依次组合成一个空的第一个数据帧。 …