可以說我有以下內容DataFrame:
import pandas as pd
df = pd.DataFrame({"Date":["2022-01-01", "2022-01-02", "2022-01-03"], "Time":[0,1,10]})
我想要另一個datetime使用日期和時間列的列。
預期結果
Date Time DateTime
0 2022-01-01 0 2022-01-01 00:00:00
1 2022-01-02 1 2022-01-02 01:00:00
2 2022-01-03 10 2022-01-03 10:00:00
審判
我嘗試了這個失敗的解決方案:
df["DateTime"] = str(df["Date"]) " " str(df["Time"]) ":00"
哪個輸出:
>>> df
Date Time DateTime
0 2022-01-01 0 0 2022-01-01\n1 2022-01-02\n2 2022-01...
1 2022-01-02 1 0 2022-01-01\n1 2022-01-02\n2 2022-01...
2 2022-01-03 10 0 2022-01-01\n1 2022-01-02\n2 2022-01...
uj5u.com熱心網友回復:
您可以使用DateandTime添加to_datetimeto_timedelta
df['new'] = pd.to_datetime(df['Date']) pd.to_timedelta(df['Time'],unit='hour')
df
Out[388]:
Date Time new
0 2022-01-01 0 2022-01-01 00:00:00
1 2022-01-02 1 2022-01-02 01:00:00
2 2022-01-03 10 2022-01-03 10:00:00
uj5u.com熱心網友回復:
一種解決方案如下:
df["DateTime"] = df["Date"].astype(str) " " df["Time"].astype(str) ":00"
然后轉換為datetime:
df["DateTime"] = pd.to_datetime(df["DateTime"])
因此輸出如預期:
>>> df
Date Time DateTime
0 2022-01-01 0 2022-01-01 00:00:00
1 2022-01-02 1 2022-01-02 01:00:00
2 2022-01-03 10 2022-01-03 10:00:00
uj5u.com熱心網友回復:
df['date'] = [d.date() for d in df['datetime']]
df['time'] = [d.time() for d in df['datetime]]
df['date']= pd.to_datetime(df['date'])
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/432152.html
標籤:Python python-3.x 熊猫 约会时间
