我有一個熊貓數據框,如附件所示。它包含 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
提交
取消