0

我的 pandas 数据框在前 3 列中有年、月和日期。要将它们转换为 datetime 类型,我使用了一个 for 循环,该循环遍历每一行,将每行前 3 列中的内容作为 datetime 函数的输入。有什么办法可以避免这里的for循环并将日期作为日期时间?

4

1 回答 1

1

我不确定是否有矢量化钩子,但apply无论如何你都可以使用:

>>> df = pd.DataFrame({"year": [1992, 2003, 2014], "month": [2,3,4], "day": [10,20,30]})
>>> df
   day  month  year
0   10      2  1992
1   20      3  2003
2   30      4  2014
>>> df["Date"] = df.apply(lambda x: pd.datetime(x['year'], x['month'], x['day']), axis=1)
>>> df
   day  month  year                Date
0   10      2  1992 1992-02-10 00:00:00
1   20      3  2003 2003-03-20 00:00:00
2   30      4  2014 2014-04-30 00:00:00
于 2013-04-05T17:04:45.947 回答