【发布时间】:2019-08-02 08:50:18
【问题描述】:
我正在尝试在 Pandas 中构建一个 datetime 列,该列表示描述年、月、日等的多个列。我可以在该主题上找到的大多数其他答案都涉及以相反方向处理数据(从 datetime 到 integer小时,例如)。
df = pd.DataFrame()
df['year'] = [2019, 2019, 2019, 2019, 2019, 2019]
df['month'] = [8, 8, 8, 8, 8, 8]
df['day'] = [1, 1, 1, 1, 1, 1]
df['hour'] = [10,10,11,11,12,12]
df['minute'] = [15,45,20,40,10,50]
df['second'] = [0, 1, 5, 10, 10, 11]
目标:
df['datetime_val'] =
0 2019-08-01 10:15:00
1 2019-08-01 10:45:01
2 2019-08-01 11:20:05
3 2019-08-01 11:40:10
4 2019-08-01 12:10:10
5 2019-08-01 12:50:11
Name: datetime_vals, dtype: datetime64[ns]
在上面的示例中,我如何快速创建一个表示构成时间信息的日期时间列?我可以使用 .apply() 和辅助函数轻松完成此操作,但我设想对数百万行执行此操作。我会喜欢一些内置/矢量化的东西。谢谢!
【问题讨论】:
-
也许在:stackoverflow.com/questions/11858472/… 上达到顶峰,尤其是比较列字符串理解的不同方法的第三个答案