我目前在日期時間格式方面遇到問題,特別是將字串輸入轉換為正確的 python 日期時間格式
Date/Time Dry_Temp[C] Wet_Temp[C] Solar_Diffuse_Rate[[W/m2]] \
0 01/01 00:10:00 8.45 8.237306 0.0
1 01/01 00:20:00 7.30 6.968360 0.0
2 01/01 00:30:00 6.15 5.710239 0.0
3 01/01 00:40:00 5.00 4.462898 0.0
4 01/01 00:50:00 3.85 3.226244 0.0
這些是我當時擁有的時間戳的當前示例,我嘗試拆分日期和時間,以便我現在擁有以下列:
WC_Humidity[%] WC_Htgsetp[C] WC_Clgsetp[C] Date Time
0 55.553640 18 26 1900-01-01 00:10:00
1 54.204342 18 26 1900-01-01 00:20:00
2 51.896272 18 26 1900-01-01 00:30:00
3 49.007770 18 26 1900-01-01 00:40:00
4 45.825810 18 26 1900-01-01 00:50:00
我已經設法將年份轉換為日期時間格式,但仍有兩個問題需要解決:
- 資料沒有記錄在 1900 年,所以我想更改日期中的年份,
- 嘗試將時間轉換為時間日期時間 python 格式時出現以下錯誤
pandas/_libs/tslibs/strptime.pyx in pandas._libs.tslibs.strptime.array_strptime()
ValueError: time data '00:00:00' does not match format ' %m/%d %H:%M:%S' (match)
我嘗試過 24:00:00,但是,python 也不喜歡那樣......
偏好:我更喜歡如果它們都在同一個單元格中,而不必將此資訊分成兩列。我還想擺脫秒資料,因為資料是以 10 分鐘為間隔記錄的,因此在我的情況下不需要秒。
任何幫助將不勝感激。
uj5u.com熱心網友回復:
資料沒有記錄在 1900 年,所以我想更改日期中的年份,
datetime.datetime.replacedatetime.datetime實體方法用于此任務考慮以下示例:
import pandas as pd
df = pd.DataFrame({"when":pd.to_datetime(["1900-01-01","1900-02-02","1900-03-03"])})
df["when"] = df["when"].apply(lambda x:x.replace(year=2000))
print(df)
輸出
when
0 2000-01-01
1 2000-02-02
2 2000-03-03
請注意,它也可以在沒有pandas例如的情況下使用
import datetime
d = datetime.datetime.strptime("","") # use all default values which result in midnight of Jan 1 of year 1900
print(d) # 1900-01-01 00:00:00
d = d.replace(year=2000)
print(d) # 2000-01-01 00:00:00
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/351666.html
