如何在Pandas中结合日期和时间对象来创建一个时间戳对象

799 阅读2分钟

这篇短文将讨论如何通过组合日期和时间字符串来创建一个Pandas时间戳对象。

潘达斯Combine()函数

Pandas为我们提供了timestamp.combined()函数,它允许我们将日期和时间字符串的值合并为一个Pandas时间戳对象。

该函数的语法如下所示。

Timestamp.combine(date, time)

该函数接受两个主要参数。

  1. Date- 指的是表示日期字符串的datetime.date对象。
  2. 时间--指定datetime.time对象。

该函数返回从传递的日期和时间参数中得出的时间戳对象。

例子

下面的例子中显示了一个例子。

# import pandas
import pandas as pd
# import date and time
from datetime import date, time
ts = pd.Timestamp.combine(date(2022,4,11), time(13,13,13))
print(ts)

在这个例子中,我们使用datetime模块的日期和时间函数来创建datetime对象。

然后我们使用组合函数将这些对象组合成一个Pandas时间戳。上面的代码应该返回。

2022-04-11 13:13:13

合并日期和时间列

假设你有一个带有日期和时间列的Pandas DataFrame?考虑下图所示的DataFrame的例子。

# import pandas
# from datetime import date, time
data = {'dates': [date(2022,4,11), date(2023,4,11)], 'time': [time(13,13,13), time(14,14,14)]}
df = pd.DataFrame(data=data)
df

在上面的例子中,我们有两列。第一列持有datetime.date类型的日期值,另一列持有datetime.time类型的时间值。

为了合并它们,我们可以这样做。

# combine them as strings
new_df = pd.to_datetime(df.dates.astype(str) + ' ' +df.time.astype(str))
# add column to dataframe
df.insert(2, 'datetime', new_df)
df

我们将这些列转换为字符串类型,并使用Python中的加法运算符将它们连接起来。

然后我们使用insert方法将结果列插入到现有的数据框架中。这应该会返回DataFrame,如图所示。

结论

这篇文章讨论了你如何在Pandas中结合日期和时间对象来创建一个时间戳对象。我们还介绍了如何结合日期和时间列。