Python 在双向表或数据帧上分配不同的值

Python 在双向表或数据帧上分配不同的值,python,pandas,Python,Pandas,我如何添加一些类似于dF2的列来扩展年复一年的年度现金价值?谢谢 dF = pd.DataFrame({'num_year':[2.4,1.5,1], 'annual_value':[10,20,30]}) 我想买一些这样的桌子: dF2 = pd.DataFrame({'num_year':[2.4,1.5,1], 'annual_value':[10,20,30], 'year1':[10,20,

我如何添加一些类似于dF2的列来扩展年复一年的年度现金价值?谢谢

dF = pd.DataFrame({'num_year':[2.4,1.5,1],
                   'annual_value':[10,20,30]})
我想买一些这样的桌子:

dF2 = pd.DataFrame({'num_year':[2.4,1.5,1],
              'annual_value':[10,20,30],
              'year1':[10,20,30],
              'year2':[10,10,0],
              'year3':[4,0,0]
              })


我使用
divmod
,creaet
列表
,然后只使用
mul
年度值和
连接
返回

def sdiv(a, b):
    q, r = np.divmod(a, b)
    return [1]*int(q) + [r]
dF2=dF.join(pd.DataFrame(dF.num_year.map(lambda x :sdiv(x,1)).tolist(),index=dF.index).\
        fillna(0).mul(dF['annual_value'],axis=0).add_prefix('year'))
dF2
Out[87]: 
   num_year  annual_value  year0  year1  year2
0       2.4            10     10   10.0    4.0
1       1.5            20     20   10.0    0.0
2       1.0            30     30    0.0    0.0

你打算怎么解决这个问题?