Pandas时间处理

简介: Pandas时间处理

DataFrame时间处理


示例数据

image.png


将字符串列转化成时间序列

有时从 csv 或 xlsx 文件中读取的时间,是字符串(Object)类型,这时就需要将其转化成 datetime 类型,方便后续对时间的处理。

pd.to_datetime(df['datetime'])
复制代码


将时间列作为索引

对于大部分时间序列数据,我们都可以将该列作为索引,来最大的利用时间。这里 drop=False 选择不删除 datetime 列。

df.set_index('datetime', drop=False)
复制代码

image.png


通过索引获取 1月 的数据,这里显示前五行。

df.loc['2021-1'].head()
复制代码

image.png

通过索引获取 1~3月 的数据。

df.loc['2021-1':'2021-3'].info()
复制代码

image.png


获取时间的各个属性

这里给出一般需求中可能会用到的属性,同时给出各个方法的实例。

常见属性 描述
date 获取日期
time 获取时间
year 获取年份
month 获取月份
day 获取天
hour 获取小时
minute 获取分钟
second 获取秒
dayofyear 数据处于一年中的第几天
weekofyear 数据处于一年中的第几周(新版使用 isocalendar().week)
weekday 数据处于一周中的第几天(数字 周一为0)
day_name() 数据处于一周中的第几天(英文 Monday)
quarter 数据处于一年中的第几季度
is_leap_year 是否为闰年


这里随便选第 100 行的日期做示例,各个属性的结果均以注释的形式展示。


df['datetime'].dt.date[100]
# datetime.date(2021, 4, 11)
df['datetime'].dt.time[100]
# datetime.time(11, 50, 58, 995000)
df['datetime'].dt.year[100]
# 2021
df['datetime'].dt.month[100]
# 4
df['datetime'].dt.day[100]
# 11
df['datetime'].dt.hour[100]
# 11
df['datetime'].dt.minute[100]
# 50
df['datetime'].dt.second[100]
# 58
df['datetime'].dt.dayofyear[100]
# 101
df['datetime'].dt.isocalendar().week[100]
# 14
df['datetime'].dt.weekday[100]
# 6
df['datetime'].dt.day_name()[100]
# 'Sunday'
df['datetime'].dt.quarter[100]
# 2
df['datetime'].dt.is_leap_year[100]
# False
复制代码


重采样 resample()

重采样分为 降采样升采样 两种。

降采样指的是采样的时间频率低于原时间序列的时间频率,同时来讲就是一个聚合操作。看示例,下面获取各季度的 count 列平均值。Q 代表 quarter 表示按季度采样。

df.resample('Q',on='datetime')["count"].mean()
复制代码

image.png

注意:此时的输出的最大时间为06-30, 并不是实际数据中的 05-31。 但是并不影响计算。


升采样与降采样相反,指的是采样的时间频率高于原时间序列的时间频率,相当于获取更细纬度的时间数据,但这样往往会造成数据中存在大量空值,实际用的不多,这里就不展开讲解了。



相关文章
|
14天前
|
BI Python
Pandas 常用函数-数据统计和描述
Pandas 常用函数-数据统计和描述
40 0
|
3月前
|
索引 Python
Pandas学习笔记之时间处理
Pandas学习笔记之时间处理
|
3月前
|
存储 索引 Python
高效的5个pandas函数,你都用过吗?
高效的5个pandas函数,你都用过吗?
|
3月前
|
索引 Python
高效的10个Pandas函数,你都用过吗?
高效的10个Pandas函数,你都用过吗?
|
存储 大数据 Python
Pandas 2.1发布了
2023年3月1日,Pandas 发布了2.0版本。6个月后(8月30日),更新了新的2.1版。让我们看看他有什么重要的更新。
152 1
|
数据处理 Python
技巧 | 分享几个Pandas高效函数(二)
技巧 | 分享几个Pandas高效函数(二)
|
数据处理 索引 Python
技巧 | 分享几个Pandas高效函数(三)
技巧 | 分享几个Pandas高效函数(三)
|
数据处理 Python
技巧 | 分享几个Pandas高效函数(一)
技巧 | 分享几个Pandas高效函数(一)
|
数据挖掘 Linux 数据处理
Pandas时间数据处理与简单作图
前两天接着作业的兴致写了一篇pandas数据分析的文章,简要介绍了一下groupby这个函数的妙用,没想到居然能被推荐,还是有点小激动的。估计掘金的大家更喜欢技术性强一些的文章而非操作细节多的文章吧?今天我们再次暂停一期小白的实战专题,来看看pandas的时间数据如何处理。当然,如标题所述,我们会来一些作图操作来增加文章的趣味性——
Pandas时间数据处理与简单作图
Pandas 比较日期差异
Pandas 比较日期差异
Pandas 比较日期差异
下一篇
无影云桌面