gpt4 book ai didi

python - 如何将数据框中的列与 Pandas 中第二个数据框中具有相同名称/位置的列中的值进行比较?

转载 作者:行者123 更新时间:2023-12-01 07:42:28 24 4
gpt4 key购买 nike

我有一个数据帧,它按列按类别、按行时间戳组织,还有第二个数据帧,每列只有一个值作为类别的阈值。

我想将所有大于每列阈值的值过滤到新的数据框中。所有较低的值都应设置为 0。

input:
df1:
time, category A, category B, category C, [...]
0, 1, 0, 2, […]
1, 4, 0, 5, […]
2, 6, 4, 3, […]
3, 8, 2, 2, […]
4, 3, 1, 4, […]

df2:
category A, category B, category C, [...]
2,3,3

output:
df3:
time, category A, category B, category C, [...]
0, 0, 0, 0, […]
1, 4, 0, 5, […]
2, 6, 4, 0, […]
3, 8, 0, 0, […]
4, 3, 0, 4, […]

最佳答案

这是使用底层 NmmPy 数组的一种方法。我最多使用提供的示例中的类别 C:

df1 = df1.set_index('time')
pd.DataFrame((df1.values > df2.values)*df1.values,
columns = df1.columns,
index=df1.index)
.reset_index()

time categoryA categoryB categoryC
0 0 0 0 0
1 1 4 0 5
2 2 6 4 0
3 3 8 0 0
4 4 3 0 4

关于python - 如何将数据框中的列与 Pandas 中第二个数据框中具有相同名称/位置的列中的值进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56631504/

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