python pandas extract unique dates from time series(python pandas从时间序列中提取唯一日期)
问题描述
我有一个包含大量日内数据的 DataFrame,DataFrame 有几天的数据,日期不连续.
I have a DataFrame which contains a lot of intraday data, the DataFrame has several days of data, dates are not continuous.
2012-10-08 07:12:22 0.0 0 0 2315.6 0 0.0 0
2012-10-08 09:14:00 2306.4 20 326586240 2306.4 472 2306.8 4
2012-10-08 09:15:00 2306.8 34 249805440 2306.8 361 2308.0 26
2012-10-08 09:15:01 2308.0 1 53309040 2307.4 77 2308.6 9
2012-10-08 09:15:01.500000 2308.2 1 124630140 2307.0 180 2308.4 1
2012-10-08 09:15:02 2307.0 5 85846260 2308.2 124 2308.0 9
2012-10-08 09:15:02.500000 2307.0 3 128073540 2307.0 185 2307.6 11
......
2012-10-10 07:19:30 0.0 0 0 2276.6 0 0.0 0
2012-10-10 09:14:00 2283.2 80 98634240 2283.2 144 2283.4 1
2012-10-10 09:15:00 2285.2 18 126814260 2285.2 185 2285.6 3
2012-10-10 09:15:01 2285.8 6 98719560 2286.8 144 2287.0 25
2012-10-10 09:15:01.500000 2287.0 36 144759420 2288.8 211 2289.0 4
2012-10-10 09:15:02 2287.4 6 109829280 2287.4 160 2288.6 5
......
如何从上述 DataFrame 中提取日期时间格式的唯一日期?得到类似 [2012-10-08, 2012-10-10]
How can I extract the unique date in the datetime format from the above DataFrame? To have result like [2012-10-08, 2012-10-10]
推荐答案
如果你有一个 Series 比如:
If you have a Series like:
In [116]: df["Date"]
Out[116]:
0 2012-10-08 07:12:22
1 2012-10-08 09:14:00
2 2012-10-08 09:15:00
3 2012-10-08 09:15:01
4 2012-10-08 09:15:01.500000
5 2012-10-08 09:15:02
6 2012-10-08 09:15:02.500000
7 2012-10-10 07:19:30
8 2012-10-10 09:14:00
9 2012-10-10 09:15:00
10 2012-10-10 09:15:01
11 2012-10-10 09:15:01.500000
12 2012-10-10 09:15:02
Name: Date
其中每个对象都是一个时间戳:
where each object is a Timestamp:
In [117]: df["Date"][0]
Out[117]: <Timestamp: 2012-10-08 07:12:22>
调用.date()只能获取日期:
In [118]: df["Date"][0].date()
Out[118]: datetime.date(2012, 10, 8)
和 Series 有一个 .unique() 方法.所以你可以使用 map 和一个 lambda:
and Series have a .unique() method. So you can use map and a lambda:
In [126]: df["Date"].map(lambda t: t.date()).unique()
Out[126]: array([2012-10-08, 2012-10-10], dtype=object)
或者使用Timestamp.date方法:
In [127]: df["Date"].map(pd.Timestamp.date).unique()
Out[127]: array([2012-10-08, 2012-10-10], dtype=object)
这篇关于python pandas从时间序列中提取唯一日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:python pandas从时间序列中提取唯一日期
基础教程推荐
- Plotly:如何设置绘图图形的样式,使其不显示缺失日期的间隙? 2022-01-01
- PermissionError: pip 从 8.1.1 升级到 8.1.2 2022-01-01
- 修改列表中的数据帧不起作用 2022-01-01
- 使用大型矩阵时禁止 Pycharm 输出中的自动换行符 2022-01-01
- 包装空间模型 2022-01-01
- 求两个直方图的卷积 2022-01-01
- PANDA VALUE_COUNTS包含GROUP BY之前的所有值 2022-01-01
- 在Python中从Azure BLOB存储中读取文件 2022-01-01
- 无法导入 Pytorch [WinError 126] 找不到指定的模块 2022-01-01
- 在同一图形上绘制Bokeh的烛台和音量条 2022-01-01
