【问题标题】:How do I subtract all the rows value in a particular column using Pandas library in Python?如何使用 Python 中的 Pandas 库减去特定列中的所有行值?
【发布时间】:2020-09-25 03:56:36
【问题描述】:

将 NaN 值转换为零

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

添加一个名为 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 函数)

【问题讨论】:

  • # 用于标题,要格式化为代码块,请使用 ``` 或选择所有代码并按 ctrl+k
  • 更好地格式化您的答案。请转至markdown help
  • 非常感谢,我一定会正确修改和编辑!!!..再次感谢

标签: python pandas dataframe


【解决方案1】:

重症监护室

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

【讨论】:

  • 这有帮助吗?很高兴能提供进一步的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-03
  • 1970-01-01
  • 2020-09-24
  • 2020-02-24
  • 2023-01-24
相关资源
最近更新 更多