使用 Pandas DataFrame 处理时间
pythonserver side programmingprogramming更新于 2025/10/24 14:04:17
在本文中,我们将学习如何使用内置 pandas 库生成和处理不同的时间戳。我们还使用 numpy 模块来生成和修改生成时间戳所需的数据库。
首选 IDE:Jupyter Notebook
在开始本教程之前,我们必须安装 pandas 和 numpy 库。为此,jupyter Notebook 是测试和运行代码的最佳场所。要安装 pandas,我们必须运行以下命令。
>>> pip install pandas
如果我们运行此命令,则所有依赖项都会自动安装。 完成后,我们必须重新启动内核才能看到更改。
安装完所有依赖项后,我们可以将 pandas 导入为 ‘p’。
在这里,我们调用数据框构造函数并从日期参数初始化一个周期为 4、频率为 2 小时的数据库。通过指定键 ‘time’,我们可以显示数据库。
>>> 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.<feature name>提取特征。通过使用 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')]
这里我们使用日期索引数据库,这意味着‘date’字段将首先通过使用 .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
结论
在本文中,我们学习了如何以多种方式打包和解包元组。
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

