我在 Pandas DataFrame 中有兩列,一列包含日期作為字串,另一列包含一天中的小時作為整數。
我想將其轉換為日期時間戳。
我已經解決了這個問題,但感覺它很慢。
資料是:
df = pd.DataFrame({'Date': {0: '01/12/2017',
1: '01/12/2017',
2: '01/12/2017',
3: '01/12/2017',
4: '01/12/2017'},
'Hour': {0: 0, 1: 1, 2: 2, 3: 3, 4: 4},
'Rented Bike Count': {0: 254, 1: 204, 2: 173, 3: 107, 4: 78}})
其中的dtypes DateISobject和Hour是int64
我目前正在使用以下方法合并日期和時間:
# Generate the datetime column
df['datetime'] = pd.to_datetime(df.apply(lambda x: f"{x['Date']} {x['Hour']}:00:00", axis=1))
# Remove the old datetime columns
df = df.drop('Date', axis=1).drop('Hour', axis=1)
有沒有更快的方法來做到這一點?
uj5u.com熱心網友回復:
我會做:
# is your data day-first or month-first?
df['datetime'] = pd.to_datetime(df['Date'], dayfirst=True) pd.to_timedelta(df['Hour'], unit='H')
df = df.drop(['Date','Hour'], axis=1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/370509.html
上一篇:將日期列更改為日期時間
