gpt4 book ai didi

dataframe - Pandas DataFrame - 基于列子集的计算列

转载 作者:行者123 更新时间:2023-12-04 05:18:23 25 4
gpt4 key购买 nike

我有以下数据框

                           Qtr Premium      Claim     Rate

Type Code
A 3 14 3552.77 100991.7 0.004017
3 15 5610.67 105763.6 0.004017
3 16 6463.22 107740.6 0.004017
4 17 6129.91 106967.7 0.005638
4 18 4688.65 103625.6 0.005638
4 19 2158.94 97759.66 0.005638
4 20 8540.77 89369.72 0.005638

我有常量“c”

我希望逐行计算,使用 Qtr 和 Rate 的相关值但更新 Premium 和 Claim 的值。

例子:

Premium = Premium / (1+Rate)^(c-Qtr)
Claim = Claim / (1+Rate)^(c-Qtr)

实际上,我有很多列需​​要执行此计算。

最佳答案

df 是数据框的名称,c 是常量,尝试:

df['Premium'] = df.Premium / ( 1 + df.Rate ) ** (c - df.Qtr)
df['Claim'] = df.Claim / ( 1 + df.Rate ) ** ( c - df.Qtr )

评论更新,我确信有更多 pythonic 方法可以做到这一点,但这是有效的:

columns = df.columns
subset_cols = columns.drop(['Rate','Qtr'])
for col in subset_cols:
df[col] = df[col] / ( 1 + df.Rate ) ** (c- df.Qtr)

第二次更新,您可以将计算提取到函数中并在列表理解中执行该过程

def calc(df, col, c):
df[col] = df[col] / ( 1 + df.Rate ) ** ( c - df.Qtr )
[calc(df, col, c) for col in df.columns.drop(['Rate','Qtr'])]

关于dataframe - Pandas DataFrame - 基于列子集的计算列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14623935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com