Python 在双向表或数据帧上分配不同的值
我如何添加一些类似于dF2的列来扩展年复一年的年度现金价值?谢谢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,
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
你打算怎么解决这个问题?