pandas datafram任意两列之间的百分比差异

2024-10-01 15:31:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我想有一个函数定义为计算任何两个pandas列之间的百分比差异。 假设我的数据帧定义为:

R1  R2    R3    R4   R5    R6
 A   B     1     2    3     4

我希望我的计算定义为

^{pr2}$

以及

df['R8'] = df[['R5','R6']].apply(same method call to calculate perc diff)

怎么办?在

我在下面试过了

df['perc_cnco_error'] = df[['CumNetChargeOffs_x','CumNetChargeOffs_y']].apply(lambda x,y: percCalc(x,y))

def percCalc(x,y):
    if x<1e-9:
        return 0
    else:
        return (y - x)*100/x

它会给我错误信息

TypeError: ('() takes exactly 2 arguments (1 given)', u'occurred at index CumNetChargeOffs_x')


Tags: 数据函数pandasdfreturn定义差异百分比
1条回答
网友
1楼 · 发布于 2024-10-01 15:31:33

这将给出偏差百分比:

df.apply(lambda row: (row.iloc[0]-row.iloc[1])/row.iloc[0]*100, axis=1)

如果你有两列以上的话试试看

^{pr2}$

相关问题 更多 >

    热门问题