1 回答

TA貢獻1816條經驗 獲得超4個贊
這是可能的,但是得到混合值 - 在一列中帶有和 python 日期對象的字符串00:00:00,所以接下來的處理應該是有問題的:
df['start_date'] = np.where(df.request_type == 'main',
pd.to_datetime(df.start_date).dt.strftime('%Y-%m-%d 00:00:00'),
df.start_date)
或者:
df['start_date'] = np.where(df.request_type == 'main',
df.start_date.astype(str) +' 00:00:00',
df.start_date)
print (df)
request_type start_date end_date
0 main 2020-02-12 00:00:00 2020-02-12
1 main 2020-02-12 00:00:00 2020-02-12
2 main 2020-02-12 00:00:00 2020-02-12
3 meta 2020-02-10 2020-02-10
4 meta 2020-02-10 2020-02-10
print (df['start_date'].apply(type))
0 <class 'str'>
1 <class 'str'>
2 <class 'str'>
3 <class 'datetime.date'>
4 <class 'datetime.date'>
Name: start_date, dtype: object
添加回答
舉報