gpt4 book ai didi

python - 按列比较 2 个 pandas 数据帧的行并保持更大和总和

转载 作者:行者123 更新时间:2023-11-28 22:39:56 26 4
gpt4 key购买 nike

我有两个 ID 相同且结构相同的数据框:

X, Y, Value, ID

两者之间的唯一区别应该是 Value 列中的值 - 它可能需要先按 ID 排序,以便两者具有相同的行顺序以确保。

我想根据列值逐行比较这两个数据帧,并根据值较大的位置保留第一行或第二行。我还想看看如何为两个数据框中的值列之和添加附加列 SUM 的示例。

如果您觉得使用 numpy 比 Pandas 更好,我会很高兴提供任何示例,包括使用 numpy。

编辑: 在测试第一个答案中的示例后,我才意识到我拥有的数据框完全缺少 ID 值为空的行。这使得两个数据帧的行数不同。所以也请包括如何在比较之前使它们大小相同 - 添加带有 ID 和零的彼此缺少 ID 的行?

最佳答案

import numpy as np

# create a new dataframe, where Value is the max value per row
val1 = df1['Value']
val2 = df2['Value'][val1.index] # align to val1
df = df1.copy()
df['Value'] = np.maximum(val1, val2)

# add a SUM column:
df1['SUM'] = df1['Value'].sum()
df2['SUM'] = df2['Value'].sum()

关于python - 按列比较 2 个 pandas 数据帧的行并保持更大和总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34215260/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com