我需要运行以下内容:
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在条件上乘以两个数字列所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)