python – 使用Pandas在条件上乘以两个数字列

python – 使用Pandas在条件上乘以两个数字列,第1张

概述我有pd数据帧(数据),有三列,X,Y和Z. 我需要运行以下内容: X * Y其中Z =’值’ 我正在努力: data[data['Z'] == 'value',[data['X']*data['Y']]] 现在我知道这不正确,但我能闻到正确的答案.有人能指出我正确的方向吗? IIUC: (df.X * df.Y).where(df.Z == 'Value') 要么 df[df.Z == 'Val 我有pd数据帧(数据),有三列,X,Y和Z.

我需要运行以下内容:

X * Y其中Z =’值’

我正在努力:

data[data['Z'] == 'value',[data['X']*data['Y']]]

现在我知道这不正确,但我能闻到正确的答案.有人能指出我正确的方向吗?

解决方法 IIUC:

(df.X * df.Y).where(df.Z == 'Value')

要么

df[df.Z == 'Value'].eval('X * Y')

例子:

np.random.seed(123)df = pd.DataFrame({'X':np.arange(10),'Y':np.arange(10),'Z':np.random.choice(['Value',np.nan],10)})(df.X * df.Y).where(df.Z == 'Value')0     0.01     NaN2     4.03     9.04    16.05    25.06    36.07     NaN8     NaN9    81.0dtype: float64

要么

df[df.Z == 'Value'].eval('X * Y')0     02     43     94    165    256    369    81dtype: int32
总结

以上是内存溢出为你收集整理的python – 使用Pandas在条件乘以两个数字列全部内容,希望文章能够帮你解决python – 使用Pandas在条件上乘以两个数字列所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存