亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過對齊日期在 Pandas 數據框中創建 NaN 行

通過對齊日期在 Pandas 數據框中創建 NaN 行

呼如林 2021-11-02 16:35:18
我有一個熊貓數據框,如附件所示。它包含 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


查看完整回答
反對 回復 2021-11-02
  • 1 回答
  • 0 關注
  • 216 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號