python - 熊猫,按日期索引
问题描述
我在熊猫中有以下数据框
1 2015_04_19_00_00_00
2 2015_04_19_01_00_00
3 2015_04_19_02_00_00
4 2015_04_19_03_00_00
5 2015_04_19_04_00_00
6 2015_04_19_05_00_00
7 2015_04_19_06_00_00
8 2020_06_10_00_00_00
9 2020_06_10_01_00_00
10 2020_06_10_02_00_00
11 2020_06_10_03_00_00
12 2020_06_10_04_00_00
13 2020_06_10_05_00_00
14 2030_04_15_01_00_00
15 2030_04_15_02_00_00
16 2030_04_15_10_00_00
17 2030_04_15_11_00_00
18 2040_05_29_01_00_00
19 2040_05_29_02_00_00
20 2040_05_29_03_00_00
21 2040_05_29_04_00_00
22 2040_05_29_05_00_00
23 2040_05_29_06_00_00
24 2040_05_29_07_00_00
25 2040_05_29_08_00_00
如何查询年份变化的索引?
最终结果应该类似于
2015 1
2020 8
2030 14
2040 18
解决方案
这是一种方法
In [148]: s = df.time_col.str.split('_').str[0]
In [149]: idx = s[s.ne(s.shift())]
In [150]: idx
Out[150]:
1 2015
8 2020
14 2030
18 2040
Name: time, dtype: object
In [151]: pd.Series(idx.index, idx.values)
Out[151]:
2015 1
2020 8
2030 14
2040 18
dtype: int64
推荐阅读
- xml - Why is there no "encoding" attribute in a string got by "IXMLDocument.SaveToXML" method?
- wordpress - 处理不同 wordpress 插件中的冗余脚本
- ssl - 使用端点上下文处理 Netty SSL 异常
- biztalk - 当第 3 方系统使用 REST API 时,BizTalk Server 是否支持通过 Azure 文件共享交换大文件?
- mysql - MySQL子查询本身返回所有记录
- aion - 使用 ATS 代币进行交易
- ios - 快速更改自动续订订阅
- python - CreateView 奇怪的行为。走向错误的观点?
- ubuntu-16.04 - 如何定义对函数的未定义引用
- regex - '?' 的正则表达式问题 在匹配的路线中