这篇短文将讨论如何通过组合日期和时间字符串来创建一个Pandas时间戳对象。
潘达斯Combine()函数
Pandas为我们提供了timestamp.combined()函数,它允许我们将日期和时间字符串的值合并为一个Pandas时间戳对象。
该函数的语法如下所示。
Timestamp.combine(date, time)
该函数接受两个主要参数。
- Date- 指的是表示日期字符串的datetime.date对象。
- 时间--指定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中结合日期和时间对象来创建一个时间戳对象。我们还介绍了如何结合日期和时间列。