我有一个熊猫数据框,如附件所示。它包含 2 个唯一 BondID 的不同日期的价格,如下所示:-Quote_Date BondID mid_ZSpread rank---------- ------ ----------- -----28-12-2018 AAA 90.9 128-12-2018 BBB 30.9 231-12-2018 AAA 91.9 102-01-2019 AAA 92.9 102-01-2019 BBB 31.9 2对于该通知2018年1月31日-通知只有BondID AAA具有的价格。BondID BBB 缺少价格。我怎样才能编写一个有效的代码来:-1)对齐日期,即如果获得唯一日期2)然后在“mid_ZSpread”和“overall_rank”列中创建NaN条目(如下图)Quote_Date BondID mid_ZSpread rank---------- ------ ----------- -----28-12-2018 AAA 90.9 128-12-2018 BBB 30.9 231-12-2018 AAA 91.9 131-12-2018 BBB NaN NaN02-01-2019 AAA 92.9 102-01-2019 BBB 31.9 2谢谢
1 回答

烙印99
TA贡献1829条经验 获得超13个赞
您想使用reindex,为此您需要先创建一个 MultiIndex,其中 QuoteDate 和 BondID 的所有组合都出现了from_product。如果你然后set_index,你可以重新索引,Pandas 会自动给出NaN未知值。
mi = pd.MultiIndex.from_product([df['Quote_Date'].unique(), df['BondID'].unique()])
df.set_index(['Quote_Date', 'BondID']).reindex(mi)
# mid_ZSpread rank
#28-12-2018 AAA 90.9 1.0
# BBB 30.9 2.0
#31-12-2018 AAA 91.9 1.0
# BBB NaN NaN
#02-01-2019 AAA 92.9 1.0
# BBB 31.9 2.0
添加回答
举报
0/150
提交
取消