我有一张熊猫表,我有很多贷款到期年份(任何一年可以有多笔贷款),贷款名义和贷款类型(固定利率/浮动利率)。
我想将公司的债务塔提取到数据框表中,该表看起来像:
年份,FixedRate,FloatingRate
2018年,全额固定贷款,指定年份的sumofallfloatloans。
成熟年份类型名义(MM)
0 2020固定600.0
1 2021 FIXED 750.0
2 2021 FLOATING 250.0
3 2025 FIXED 700.0
转换为
年,固定,FLOAT
2020,600,0
2021,750,250
2025 700,0
我怎么能用熊猫做到这一点?
非常感谢, 托尼
答案 0 :(得分:2)
您似乎需要groupby
并汇总sum
,最后通过unstack
转发:
df = df.groupby(['Year', 'LoanType'])['loan notional'].sum().unstack()
答案 1 :(得分:2)
使用pd.crosstab
,pivot
也可以实现这一目标: - )
pd.crosstab(index =df['MaturityYear'],columns =df['Type'],values =df['Notional'],aggfunc=np.sum).fillna(0)
Out[877]:
Type FIXED FLOATING
MaturityYear
2020 600.0 0.0
2021 750.0 250.0
2025 700.0 0.0
答案 2 :(得分:2)
这是一个支点解决方案,即
df.pivot(index='Year',columns='Type',values='Notional(MM)').fillna(0)
Type FIXED FLOATING Year 2020 600.0 0.0 2021 750.0 250.0 2025 700.0 0.0
如果需要总和,即
df.pivot_table(index='Year',columns='Type',values='Notional(MM)',aggfunc='sum').fillna(0)