python - 如何使用 Python 中的 Pandas 库减去特定列中的所有行值?
问题描述
将 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 函数来完成)
解决方案
重症监护病房
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
推荐阅读
- python - 秒表 python Tkinter 代码未在 Flask 中打开弹出窗口。如果只运行 python 脚本,它运行良好。控制台上没有抛出错误
- postfix-mta - 带有 Postfix、Dovecot 的本地邮件系统:MUA 在发送到别名地址时被错误的地址信息欺骗?
- python - 如何计算线性回归模型的训练误差和验证误差?
- c# - WebRequest 返回不可读的字符串
- android - 使用具有不同菜单的导航抽屉和底部导航栏时出现问题
- django - 在同一模型Django的另一个字段中传递一个字段的ID
- javascript - 如果用户没有空购物车,则不更改页面
- excel - 从 A 列的 366 天列表中查找/选择今天的日期
- scala - Scala set vs map in 理解
- python - 带有 db2 和 kerberos 的 sqlalchemy