Pandas中常用的七个时间戳处理函数使用总结
作者:deephub 发布时间:2023-05-28 21:41:33
在零售、经济和金融等行业,数据总是由于货币和销售而不断变化,生成的所有数据都高度依赖于时间。如果这些数据没有时间戳或标记,实际上很难管理所有收集的数据。Python 程序允许我们使用 NumPy timedelta64 和 datetime64 来操作和检索时间序列数据。sklern库中也提供时间序列功能,但 Pandas 为我们提供了更多且好用的函数。
Pandas 库中有四个与时间相关的概念
日期时间:日期时间表示特定日期和时间及其各自的时区。它在 pandas 中的数据类型是 datetime64[ns] 或 datetime64[ns, tz]。
时间增量:时间增量表示时间差异,它们可以是不同的单位。示例:“天、小时、减号”等。换句话说,它们是日期时间的子类。
时间跨度:时间跨度被称为固定周期内的相关频率。时间跨度的数据类型是 period[freq]。
日期偏移:日期偏移有助于从当前日期计算选定日期,日期偏移量在 pandas 中没有特定的数据类型。
时间序列分析至关重要,因为它们可以帮助我们了解随着时间的推移影响趋势或系统模式的因素。在数据可视化的帮助下,分析并做出后续决策。
现在让我们看几个使用这些函数的例子
1、查找特定日期的某一天的名称
import pandas as pd
day = pd.Timestamp(‘2021/1/5')
day.day_name()
上面的程序是显示特定日期的名称。第一步是导入 panda 的并使用 Timestamp 和 day_name 函数。“Timestamp”功能用于输入日期,“day_name”功能用于显示指定日期的名称。
2、执行算术计算
import pandas as pd
day = pd.Timestamp(‘2021/1/5')
day1 = day + pd.Timedelta(“3 day”)
day1.day_name()
day2 = day1 + pd.offsets.BDay()
day2.day_name()
在第一个代码中,显示三天后日期名称。“Timedelta”功能允许输入任何天单位(天、小时、分钟、秒)的时差。
在第二个代码中,使用“offsets.BDay()”函数来显示下一个工作日。换句话说,这意味着在星期五之后,下一个工作日是星期一。
3、使用时区信息来操作转换日期时间
获取时区的信息
import pandas as pd
import numpy as np
from datetime import datetime
dat_ran = dat_ran.tz_localize(“UTC”)
dat_ran
转换为美国时区
dat_ran.tz_convert(“US/Pacific”)
代码的目标是更改日期的时区。首先需要找到当前时区。这是“tz_localize()”函数完成的。我们现在知道当前时区是“UTC”。使用“tz_convert()”函数,转换为美国/太平洋时区。
4、使用日期时间戳
import pandas as pd
import numpy as np
from datetime import datetime
dat_ran = pd.date_range(start = ‘1/1/2021', end = ‘1/5/2021', freq = ‘Min')
print(type(dat_ran[110]))
5、创建日期系列
import pandas as pd
import numpy as np
from datetime import datetime
dat_ran = pd.date_range(start = ‘1/1/2021', end = ‘1/5/2021', freq = ‘Min')
print(dat_ran)
上面的代码生成了一个日期系列的范围。使用“date_range”函数,输入开始和结束日期,可以获得该范围内的日期。
6、操作日期序列
import pandas as pd
from datetime import datetime
import numpy as np
dat_ran = pd.date_range(start ='1/1/2019', end ='1/08/2019',freq ='Min')
df = pd.DataFrame(dat_ran, columns =[‘date'])
df[‘data'] = np.random.randint(0, 100, size =(len(dat_ran)))
print(df.head(5))
在上面的代码中,使用“DataFrame”函数将字符串类型转换为dataframe。最后“np.random.randint()”函数是随机生成一些假定的数据。
7、使用时间戳数据对数据进行切片
import pandas as pd
from datetime import datetime
import numpy as np
dat_ran = pd.date_range(start ='1/1/2019', end ='1/08/2019', freq ='Min')
df = pd.DataFrame(dat_ran, columns =[‘date'])
df[‘data'] = np.random.randint(0, 100, size =(len(dat_ran)))
string_data = [str(x) for x in dat_ran]
print(string_data[1:5])
上面代码是是第6条的的延续。在创建dataframe并将其映射到随机数后,对列表进行切片。
最后总结,本文通过示例演示了时间序列和日期函数的所有基础知识。建议参考本文中的内容并尝试pandas中的其他日期函数进行更深入的学习,因为这些函数在我们实际工作中非常的重要。
来源:https://segmentfault.com/a/1190000041755385


猜你喜欢
- 进行已经矢量化后的字符串数据,可以使用pandas的Series数据对象的map方法。这样,对于未经矢量化的数据也可以先进行数据的矢量化转换
- eval前言In [1]: eval("2+3")Out[1]: 5In [2]: eval('[x for x
- 安装报错类型,解决方案;1. 数据库连接报错mysqldb只支持python2,pymysql支持3,都是使用c写的驱动,性能更好# dja
- 我们之前看到了函数和对象。从本质上来说,它们都是为了更好的组织已经有的程序,以方便重复利用。模块(module)也是为了同样的目的。在Pyt
- 一、 操作数据库(mysql)的工具1.1命令行工具1.2navicat界面化工具1.3phpAdmin界面化工具一般情况下安装phpstu
- 本文实例讲述了JS+CSS模拟可以无刷新显示内容的留言板功能。分享给大家供大家参考。具体实现方法如下:<!DOCTYPE html P
- 在注册或购物车结帐的时候,需要用户填入个人资料,这个环节可以简练一下,我们只需客人填入邮政编码,然后就根据这个邮政编码,自动从数据库中取出相
- 今天在做项目的时候,做了一个弹出层,需要提示,就写了一个 layer.msg('雅蠛蝶 O.o', { &nbs
- 数据采集我们上一篇介绍了,如何采集电影评论,看看这个电影好不好看.今天,我们来采集大家熟悉的百度贴吧的排行榜。发送请求我们首先确定我们的目标
- 第一种,使用reversed 函数,reversed返回的结果是一个反转的迭代器,我们需要对其进行 list 转换listNode = [1
- 每个微信小程序都可以有自己的本地缓存,可以通过 wx.setStorage(wx.setStorageSync)、wx.getStorage
- 1、可以在mode参数中添加'b'字符。所有适合文件对象的相同方法。然而,每种方法都希望并返回一个bytes对象。>&
- 前言Python 思想:“一切都是对象!”,最近发现python3和python2中print的用法有很多不同,python3中需要使用括号
- 一:什么是数据库,为什么要有数据库?数据,数据库,数据库管理系统和数据库系统是与数据库技术密切相关的四个基本概念。数据库相信大家都耳熟能详了
- 本文实例讲述了js表格排序的方法。分享给大家供大家参考。具体如下:<html><head><title>
- 操作说明:选择多个PDF文件,执行完合并后会生成一个新的PDF文件,这个新的PDF文件包含所有源PDF文件的页面。将相关的三方模块导入到代码
- 首先,在数据库中创建一个表,用于存放图片:CREATE TABLE Images(Id INT PRIMARY KEY AUTO_INCRE
- 页面自动刷新代码大全,基本上所有要求自动刷新页面的代码都有,大家可以自由发挥做出完美的页面。 1)10表示间隔10秒刷 ...页面自动刷新代
- 前言Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。axios 是目前最优秀的 HTTP 请
- 分析数字中经常是3个数字一组,之后跟一个逗号,因此规律为:***,***,***正则式[a-z]+,[a-z]?import resen =