当前位置: 首页 > 编程笔记 >

使用Pandas DataFrame的处理时间

子车修平
2023-03-14
本文向大家介绍使用Pandas DataFrame的处理时间,包括了使用Pandas DataFrame的处理时间的使用技巧和注意事项,需要的朋友参考一下

在本文中,我们将学习如何使用内置的pandas库生成和处理不同的时间戳。我们还使用numpy模块来生成和修改生成时间戳所需的数据库。

首选IDE:Jupyter笔记本

在开始本教程之前,我们必须安装pandas和numpy库。对于此jupyter笔记本,是测试和运行代码的最佳位置。要安装熊猫,我们必须运行以下命令。

>>> pip install pandas

如果我们运行此命令,则会自动安装所有依赖项。完成后,我们必须重新启动内核以查看更改。

安装完所有依赖项后,我们可以将pandas导入为“ p”。

在这里,我们调用数据框构造函数,并从date参数开始以周期4和频率2 hrs初始化数据库。通过指定键“时间”,我们正在显示数据库。

>>> pip install pandas
>>> import pandas as p
>>> data_struct = p.DataFrame()
>>> data_struct['time'] = p.date_range('14/7/2019', periods = 4, freq='3H')
>>> print(data_struct['time'])
0 2019-07-14 00:00:00
1 2019-07-14 03:00:00
2 2019-07-14 06:00:00
3 2019-07-14 09:00:00
Name: time, dtype: datetime64[ns]

通过使用<data_struct> .dt。<功能名称>提取功能。通过使用head()方法,我们显示了数据库中的所有行。

>>> data_struct['year'] = data_struct['time'].dt.year
>>> data_struct.head(4)
   time
0 2019-07-14 00:00:00 2019
1 2019-07-14 03:00:00 2019
2 2019-07-14 06:00:00 2019
3 2019-07-14 09:00:00 2019

这里我们实现了numpy模块中存在的.array()函数来创建时间字符串,这些字符串通过使用pandas库中的.to_datetime()方法转换为DateTime。

>>> import numpy as n
>>> dt_timestring = n.array(['14-07-2019 07:26 AM', '13-07-2019 11:01 PM'])
>>> timestamps = [p.to_datetime(date, format ="%d-%m-%Y %I:%M %p", errors ="coerce") for date in dt_timestring]
>>> print(timestamps)
[Timestamp('2019-07-14 07:26:00'), Timestamp('2019-07-13 23:01:00')]

在这里,我们使用日期对数据库建立索引,这意味着将首先使用.set_index()方法显示“日期”字段。

>>> data_struct1 = p.DataFrame()
>>> data_struct1['date'] = p.date_range('18/07/2019', periods = 5, freq ='2H')
>>> data_struct1= data_struct1.set_index(data_struct1['date'])
>>> print(data_struct1.head(5))
   date
date
2019-07-18 00:00:00 2019-07-18 00:00:00
2019-07-18 02:00:00 2019-07-18 02:00:00
2019-07-18 04:00:00 2019-07-18 04:00:00
2019-07-18 06:00:00 2019-07-18 06:00:00
2019-07-18 08:00:00 2019-07-18 08:00:00

如果我们只想显示数据库中的特定数据集,则可以实现下面讨论的命令-

>>> data_struct2 = p.DataFrame()
>>> data_struct2['date'] = p.date_range('17/07/2019', periods =3, freq ='4H')
>>> print(data_struct2.head(5))
   date
0 2019-07-17 00:00:00
1 2019-07-17 04:00:00
2 2019-07-17 08:00:00
>>> inp = data_struct2[(data_struct2['date'] > '2019-07-17 04:00:00')]
>>> print(inp)
   date
2 2019-07-17 08:00:00

结论

在本文中,我们学习了如何以多种方式打包和拆包元组。

 类似资料:
  • 问题内容: 是否可以为Alamofire请求添加超时处理程序? 在我的项目中,我以这种方式使用Alamofire: 编辑: 请求失败消息 错误域= NSURLErrorDomain代码= -1001“请求超时。” UserInfo = {NSUnderlyingError = 0x7fc10b937320 {Error Domain = kCFErrorDomainCFNetwork Code =

  • 是否可以为Alamofire请求添加超时处理程序? 在我的项目中,我使用Alamofire的方式如下: 编辑: 请求失败消息 Error Domain=NSURLErrorDomain Code=-1001“请求超时。”UserInfo={NSUnderlyingError=0x7fc10b937320{Error Domain=kCFErrorDomainCFNetwork Code=-1001

  • 问题内容: 免责声明:这是我第一次尝试该模块。 我使用以下方式尝试支持超时功能,以等待一组异步任务的所有结果。这是更大的库的一部分,因此我省略了一些不相关的代码。 请注意,该库已经支持通过ThreadPoolExecutors和ProcessPoolExecutors提交任务和使用超时,因此,我对使用这些代替建议或关于为什么要使用的问题并不真正感兴趣。转到代码… 起初,我不必担心在超时时取消待处理

  • 我想知道什么时候应该使用

  • 本文向大家介绍Python 处理日期时间的Arrow库使用,包括了Python 处理日期时间的Arrow库使用的使用技巧和注意事项,需要的朋友参考一下 Python针对日期时间的处理提供了大量的package,类和方法,但在可用性上来看非常繁琐和麻烦 第三方库Arrow提供了一个合理的、人性化的方法来创建、操作、格式转换的日期,时间,和时间戳,帮助我们使用较少的导入和更少的代码来处理日期和时间。

  • 本文向大家介绍C#使用JavaScriptSerializer序列化时的时间类型处理,包括了C#使用JavaScriptSerializer序列化时的时间类型处理的使用技巧和注意事项,需要的朋友参考一下 最近在做一个数据交换服务接口,用的 .NET Web API 项目。需要监控每次请求的数据,也就是操作日志。请求数据为实体对象,所以我用了序列化将请求内容读取并写入日志。咋一看,好像并没有什么问题