Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python中的Pandas库减去特定列中的所有行值?_Python_Pandas_Dataframe - Fatal编程技术网

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

如何使用Python中的Pandas库减去特定列中的所有行值?,python,pandas,dataframe,Python,Pandas,Dataframe,将NaN值转换为零 在每列中添加一个名为diff的行,其中包含最小值和最大值之间的差值。尝试使用lambda函数求解它 在每行中添加一个名为diff的列,其中包含最小值和最大值之间的差值 最终df应如下图所示df\u 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

将NaN值转换为零

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

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

最终df应如下图所示
df\u 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函数执行此操作)

IICU

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
IICU

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

#
用于标题,对于作为代码块的格式,请使用
`
或选择所有代码,然后按
ctrl+k
以更好地格式化您的答案。请通过非常感谢,我一定会修改和正确编辑!!!。。再次感谢
#
是标题,要将其格式化为代码块,请使用
`
或选择所有代码,然后按
ctrl+k
以更好地格式化您的答案。请通过非常感谢,我一定会修改和正确编辑!!!。。谢谢你的帮助?很乐意帮忙,这有帮助吗?很乐意进一步协助