使用Pandas DataFrame的处理时间
在本文中,我们将学习如何使用内置的pandas库生成和处理不同的时间戳。我们还使用numpy模块来生成和修改生成时间戳所需的数据库。
首选IDE:Jupyter笔记本
在开始本教程之前,我们必须安装pandas和numpy库。对于此jupyter笔记本,是测试和运行代码的最佳位置。要安装熊猫,我们必须运行以下命令。
>>> pip install pandas
如果我们运行此命令,则会自动安装所有依赖项。完成后,我们必须重新启动内核以查看更改。
安装完所有依赖项后,我们可以将pandas导入为“p”。
在这里,我们调用数据框构造函数,并从date参数开始以周期4和频率2hrs初始化数据库。通过指定键“时间”,我们正在显示数据库。
>>> 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
结论
在本文中,我们学习了如何以多种方式打包和拆包元组。