pandas - 在数据框的索引中收集每年的相同月份
问题描述
这是我的每月数据:
date_range = pd.date_range(start = '2015-01-31', end = '2019-12-31', freq='M', name = 'Date')
cfs = pd.DataFrame(\
[0.36, 0.42, 0.28, 0.31, 0.25, 0.32, 0.42, 0.38, 0.25, 0.31, 0.31, 0.31,
0.37, 0.36, 0.36, 0.24, 0.26, 0.31, 0.48, 0.45, 0.35, 0.28, 0.35, 0.40,
0.38, 0.40, 0.31, 0.23, 0.29, 0.22, 0.43, 0.49, 0.24, 0.29, 0.24, 0.46,
0.38, 0.38, 0.42, 0.25, 0.25, 0.26, 0.29, 0.47, 0.36, 0.30, 0.42, 0.32,
0.42, 0.40, 0.40, 0.29, 0.22, 0.33, 0.37, 0.50, 0.38, 0.23, 0.25, 0.27], \
index = date_range, columns = ['Values'])
它的输出是这样的:
Values
Date
2015-01-31 0.36
2015-02-28 0.42
2015-03-31 0.28
2015-04-30 0.31
2015-05-31 0.25
2015-06-30 0.32
...
2019-09-30 0.38
2019-10-31 0.23
2019-11-30 0.25
2019-12-31 0.27
但我想实现这样的输出:
Values
Date
2015-01-31 0.36
2016-01-31 0.37
2017-01-31 0.38
2018-01-31 0.38
2019-01-31 0.42
2015-02-28 0.42
2016-02-29 0.36
2017-02-28 0.40
2018-02-28 0.38
2019-02-28 0.40
2015-03-31 0.28
2016-03-31 0.36
2017-03-31 0.31
...
2015-12-31 0.31
2016-12-31 0.40
2017-12-31 0.46
2018-12-31 0.32
2019-12-31 0.27
我想收集每年所有相同的月份并用它们创建新的数据框。谁能帮我?
解决方案
您可以临时分配一month
列并排序:
cfs = cfs.assign(month=cfs.index.month).sort_values('month').drop('month', axis=1)
推荐阅读
- javascript - 如何清除 Javascript / Jquery 中的输入字段
- r - R:按列中的因子对数据框中的行进行子集
- javascript - 如何删除消息并将它们记录回另一个频道
- javascript - 将 hyperhtml-element 与 browserify/babelify 捆绑在一起不起作用
- javascript - 在 html 画布上放置 Vue 芯片
- java - Java 谜题在没有传入的情况下访问 main 的参数
- ios - 使用 NSUserdefaults 填充 UITableView
- c - 关于将指针作为参数传递
- c# - 音频和视频不同步?
- wordpress -
语句破坏了 Rewrite* 规则