私の pandas データフレームには、最初の 3 列に年、月、日があります。それらを日時型に変換するには、各行の最初の 3 列の内容を日時関数への入力として取得して、各行をループする for ループを使用します。ここで for ループを回避し、日付を日時として取得する方法はありますか?
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 に答える