加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 在Pandas中有一种方法可以在dataframe.apply中使用之

发布时间:2020-12-20 10:32:47 所属栏目:Python 来源:网络整理
导读:我有以下数据帧: Index_Date A B C D =============================== 2015-01-31 10 10 Nan 10 2015-02-01 2 3 Nan 22 2015-02-02 10 60 Nan 280 2015-02-03 10 100 Nan 250 要求: Index_Date A B C D =============================== 2015-01-31 10 10
我有以下数据帧:

Index_Date    A    B    C    D
 ===============================
 2015-01-31    10   10   Nan  10
 2015-02-01     2    3   Nan  22 
 2015-02-02    10   60   Nan  280
 2015-02-03    10   100   Nan  250

要求:

Index_Date    A    B    C    D
 ===============================
 2015-01-31    10   10   10   10
 2015-02-01     2    3   23   22
 2015-02-02    10   60   290  280
 2015-02-03    10   100  3000 250

C列是根据D的值得出2015-01-31.

然后我需要使用C的值2015-01-31并乘以2015-02-01的A值并添加B.

我已尝试使用if else进行应用和移位,这会产生一个关键错误.

解决方法

首先,创建派生值:

df.loc[0,'C'] = df.loc[0,'D']

然后迭代剩余的行并填充计算的值:

for i in range(1,len(df)):
    df.loc[i,'C'] = df.loc[i-1,'C'] * df.loc[i,'A'] + df.loc[i,'B']


  Index_Date   A   B    C    D
0 2015-01-31  10  10   10   10
1 2015-02-01   2   3   23   22
2 2015-02-02  10  60  290  280

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读