[英]How to select rows of a dataframe using MultiIndex in Pandas
我有這兩個需要關聯的數據框。
第一個,HOLIDAYS,給我當地的節日日期和慶祝節日的商店代碼
放假日期 | 商店代碼 |
---|---|
01/02 | 18005 |
01/02 | 18032 |
... | ... |
31/03 | 18043 |
第二個,BALANCE,顯示了特定日期的商店余額,以日期和商店數量為索引。
平衡 | ||
---|---|---|
01/02 | 18001 | $35,00 |
01/02 | 18002 | $38,00 |
... | ... | ... |
31/03 | 18099 | $20,45 |
我需要做的是在 BALANCE 中創建一個名為Holiday的列,其值為 boolean 以顯示某一行是否顯示在假期期間獲得的余額。
我試圖創建“假日”列,將初始值設置為 False,然后將 BALANCE dataframe 索引中的每個 HOLIDAY 值分配給 True,我得到 ValueError(可能是因為 dataframe 不能作為其他索引傳遞)。 我試圖將 HOLIDAY 轉換為 MultiIndex,但它再次不起作用。
BALANCE['Holiday'] = False
H = pd.MultiIndex.from_frame(HOLIDAY)
BALANCE.loc[H, 'Holiday'] = True
我很確定這應該不難,但我現在沒主意了。 有什么辦法可以將第一個 dataframe 作為第二個的 MultiIndex 使用?
您的示例沒有任何匹配的行,但這應該有效:
HOLIDAYS['is_holiday'] = True
res = pd.merge(BALANCE,
HOLIDAYS,
how='left',
left_index=True,
right_on=['Holiday_date', 'Store_code'])
res['is_holiday'] = res['is_holiday'].fillna(False)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.