繁体   English   中英

如何使用 Python 中的 Pandas 库减去特定列中的所有行值?

[英]How do I subtract all the rows value in a particular column using Pandas library in Python?

将 NaN 值转换为零

添加一个名为 diff 的行,其中包含每列中最小值和最大值之间的差异。 尝试使用 lambda function 解决它

添加一个名为 diff 的列,其中包含每行中最小值和最大值之间的差异。

最终的 df 应该如下所示的df_final

df = pd.DataFrame({'val1':[9,15,71,9,5], 'val2': [8,31,10, 14,np.nan]})
df

df_final = pd.DataFrame({'diff': {0: 1.0, 1: -16.0, 2: 61.0, 3: -5.0, 4: 5.0, 'diff': 35.0}, 'val1': {0: 9.0, 1: 15.0, 2: 71.0, 3: 9.0, 4: 5.0, 'diff': 66.0}, 'val2': {0: 8.0, 1: 31.0, 2: 10.0, 3: 14.0, 4: 0.0, 'diff': 31.0}})

df_final

现在我想减去列“val1”的所有行值,然后减去“val2”,之后我必须在下面创建一个新行并显示结果(差异)。 (如果可能的话,建议我是否可以使用 lambda 函数来做到这一点)

重症监护病房

df.fillna(0, inplace=True)#Replace NaN with zero
df['diff']=df.val1.sub(df.val2)#Subtract the two vals 
#df.loc[:,'diff']= df.apply(lambda x: x.max() - x.min(), axis=1)#if had more columns and needed differences between max and min across columns
df.loc['diff',:]= df.T.apply(lambda x: x.max() - x.min(), axis=1)#fifference between max and min in each column

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM