如何解决将MultiIndex转换为单个日期
我有一个数据框,其中索引为如下所示的多索引;
1
2
3
4
5
2020 6
7
8
9
10
11
12
由于我需要每日值,因此希望将其转换为如下所示的列;
Date
2020/01/01
2020/02/01
2020/03/01
2020/04/01
2020/05/01
etc
以便我可以使用;
df.set_index('Date').resample('D').ffill()
任何帮助,不胜感激!
解决方法
如果索引中只有year
和month
级别,则对合并的字符串使用列表理解和更改格式:
#python 3
df.index = pd.to_datetime([f'{a}-{b}-01' for a,b in df.index])
#python 2
df.index = pd.to_datetime(['{}-{}-01'.format(a,b) for a,b in df.index])
如果还有几天:
#python 3
df.index = pd.to_datetime([f'{a}-{b}-{c}' for a,b,c in df.index])
#python 2
df.index = pd.to_datetime(['{}-{}-{}'.format(a,c) for a,c in df.index])
然后:
df1 = df.resample('D').ffill()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。