0

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