gpt4 book ai didi

python - 使用另一个数据框替换数据框中的零值

转载 作者:太空宇宙 更新时间:2023-11-03 13:15:06 24 4
gpt4 key购买 nike

我想替换下面的一些值。数据框:

dataframe_a

Y2000   Y2001   Y2002    Y2003    Y2004    Item    Item Code
34 43 0 0 25 Test Val

我想将列中的值替换为通过将标量(比如 0.5)乘以此数据框中的所有值而得出的数值:

数据框_b

Y2000   Y2001   Y2002    Y2003    Y2004    Item    Item Code
34 43 10 20 25 Test Val

因此,在 dataframe_a 中,Y2002 列的值应为 10 * 0.5,Y2003 列的值应为 20 * 0.5

目前,我正在这样做:

df = dataframe_a[dataframe_a == 0]
df = df * dataframe_b * 0.5

但是,不确定如何使用新值更新 dataframe_a

最佳答案

您可以使用 bool 掩码,然后调用 fillna:

In [58]:
fill = df2.select_dtypes(include = [np.number]) * 0.5
df1 = df1[df1!=0].fillna(fill)
df1

Out[58]:
Y2000 Y2001 Y2002 Y2003 Y2004 Item Item Code
0 34 43 5 10 25 Test Val

此处 df1[df1 !=0] 将在不满足条件的情况下生成具有相同形状且具有 NaN 值的 df,然后您可以调用 fillna 并传递另一个 df,它将替换索引和列对齐的 NaN 值。

bool 掩码的结果:

In [63]:
df1[df1!=0]

Out[63]:
Y2000 Y2001 Y2002 Y2003 Y2004 Item Item Code
0 34 43 NaN NaN 25 Test Val

关于python - 使用另一个数据框替换数据框中的零值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32724146/

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