Pandas 使用Python生成时间戳的范围

Pandas 使用Python生成时间戳的范围

时间戳是一串字符或加密或编码的数据,用于识别事件的时间和日期,通常表示一天中的时间和日期,通常精确到几分之一秒。时间戳用于维护信息的跟踪。当信息被创建、传输、编辑或删除时,它被赋予一个时间戳。让我们演示一下如何使用python生成时间戳的范围。

时间戳的形式是:

常用格式

YYYY-MM-DD hh:mm:ss

  • Y代表年份
  • M代表月份
  • D代表日
  • h代表小时
  • m代表分钟
  • s代表秒

方法1:使用datetime.timedellta()

导入DateTime和pandas包。我们取一个基准日期,即今天的日期pd.Timestamp.today()。使用datetime.timedelta()方法,以’1’为单位增加到今天的日期。timedelta()需要一个参数day,即我们应该增加基准日期的天数。

# importing packages
import datetime
import pandas as pd
  
n_days = 10
  
# today's date in timestamp
base = pd.Timestamp.today()
  
# calculating timestamps for the next 10 days
timestamp_list = [base + datetime.timedelta(days=x) for x in range(n_days)]
  
# iterating through timestamp_list
for x in timestamp_list:
    print(x)

输出:

Pandas - 使用Python生成时间戳的范围

方法2:使用pd.date_range()方法

在这种方法中,我们直接使用panda库中的date_range()方法。开始日期是datetime.day(),是今天的日期。Periods是要生成的周期数。我们可以通过使用这个方法直接生成一个时间戳范围。

# importing packages
import pandas as pd
from datetime import datetime
  
  
# creating a range of timestamps
timestamp_list = pd.date_range(datetime.today(), periods=10).tolist()
for i in timestamp_list:
    print(i)
print(type(i))

输出:

2022-02-20 08:28:35.822503
2022-02-21 08:28:35.822503
2022-02-22 08:28:35.822503
2022-02-23 08:28:35.822503
2022-02-24 08:28:35.822503
2022-02-25 08:28:35.822503
2022-02-26 08:28:35.822503
2022-02-27 08:28:35.822503
2022-02-28 08:28:35.822503
2022-03-01 08:28:35.822503
<class 'pandas._libs.tslibs.timestamps.Timestamp'>

在pd.date_range()方法中,我们可以直接使用start和end参数来指定开始和结束日期,而不是使用’period’参数。这个方法的默认频率是’day’,所以我们得到的是以24小时递增的日期范围()。

# importing packages
import pandas as pd
  
# range of timestamps
timestamp_range = pd.date_range(start="2020-02-20",
                                end="2020-03-01")
for i in date_timestamp:
    print(i)
print(type(i))

输出:

2020-02-20 00:00:00
2020-02-21 00:00:00
2020-02-22 00:00:00
2020-02-23 00:00:00
2020-02-24 00:00:00
2020-02-25 00:00:00
2020-02-26 00:00:00
2020-02-27 00:00:00
2020-02-28 00:00:00
2020-02-29 00:00:00
2020-03-01 00:00:00
<class 'pandas._libs.tslibs.timestamps.Timestamp'>

方法3:使用pd.period_range()方法

pd.period_range()与pd.date_range()类似,但它返回周期指数,所以我们进一步需要使用to_timestamp()方法将其变为时间戳值。我们使用freq参数,通过使用字符串 “M “将频率设置为月。在上面覆盖的例子中,频率是日。在这个例子中产生了一个以月为单位递增的时间戳范围。

# importing packages
import pandas as pd
import datetime
  
# range of dates
date_range = pd.period_range(
    start=datetime.datetime.today(), periods=10, freq='M')
  
# timestamp range
timestamp_range = [x.to_timestamp() for x in date_range]
  
# iterating through timestamp range
for i in timestamp_range:
    print(i)
print(type(i))

输出:

2022-02-01 00:00:00
2022-03-01 00:00:00
2022-04-01 00:00:00
2022-05-01 00:00:00
2022-06-01 00:00:00
2022-07-01 00:00:00
2022-08-01 00:00:00
2022-09-01 00:00:00
2022-10-01 00:00:00
2022-11-01 00:00:00
<class 'pandas._libs.tslibs.timestamps.Timestamp'>

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程