python – 使用另一个数据帧替换数据帧中的零值

python – 使用另一个数据帧替换数据帧中的零值,第1张

概述我想替换foll中的一些值.数据帧: dataframe_a Y2000 Y2001 Y2002 Y2003 Y2004 Item Item Code34 43 0 0 25 Test Val 我想用一个数字值替换列中的值,该数值是通过将标量(比如0.5)乘以此数据帧中的所有值得出的: data 我想替换foll中的一些值.数据帧:

dataframe_a

Y2000   Y2001   Y2002    Y2003    Y2004    Item    Item Code34        43      0      0          25     Test      Val

我想用一个数字值替换列中的值,该数值是通过将标量(比如0.5)乘以此数据帧中的所有值得出的:

dataframe_b

Y2000   Y2001   Y2002    Y2003    Y2004    Item    Item Code34        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

解决方法 您可以使用布尔掩码然后调用fillna:

In [58]:fill = df2.select_dtypes(include = [np.number]) * 0.5df1 = df1[df1!=0].fillna(fill)df1Out[58]:   Y2000  Y2001  Y2002  Y2003  Y2004  Item Item  Code0     34     43      5     10     25  Test        Val

这里df1 [df1!= 0]将产生一个相同形状的df,其中NaN值不满足条件,然后你可以调用fillna并传递另一个df,它将替换索引和列对齐的NaN值.

布尔掩码的结果:

In [63]:df1[df1!=0]Out[63]:   Y2000  Y2001  Y2002  Y2003  Y2004  Item Item  Code0     34     43    NaN    NaN     25  Test        Val
总结

以上是内存溢出为你收集整理的python – 使用另一个数据帧替换数据帧中的零值全部内容,希望文章能够帮你解决python – 使用另一个数据帧替换数据帧中的零值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1193460.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存