尝试将缺失的日期时间添加到多重索引中。日期时间是一个系列(名为“ndx”)。 简单地这样做是行不通的:
df.reindex(index=ndx, level=0, fill_value=np.nan)
我有:
Column1
Date Name
2016-11-01 AAA 25
BBB 26
2016-11-07 CCC 27
我想要什么:
Column1
Date Name
2016-11-01 AAA 25
BBB 26
2016-11-02 NaN NaN
2016-11-03 NaN NaN
2016-11-04 NaN NaN
2016-11-05 NaN NaN
2016-11-06 NaN NaN
2016-11-07 CCC 27
这是否可以在不将索引展平为列的情况下实现?如果没有,最有效的方法是什么。
最佳答案
使用DataFrame.merge
使用左连接,只需首先将 MultiIndex
转换为列:
ndx = pd.Series(pd.date_range('2016-11-01','2016-11-07'))
df = ndx.to_frame('Date').merge(df.reset_index(), how='left').set_index(['Date','Name'])
print (df)
Column1
Date Name
2016-11-01 AAA 25.0
BBB 26.0
2016-11-02 NaN NaN
2016-11-03 NaN NaN
2016-11-04 NaN NaN
2016-11-05 NaN NaN
2016-11-06 NaN NaN
2016-11-07 CCC 27.0
关于python - 将 dt 系列中缺失的日期添加到多重索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58803538/