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