我有以下DataFrame
example = {"Time":["01/2021","02/2021","04/2021","05/2021"]}
df = pd.DataFrame( example )
Time
0 01/2021
1 02/2021
2 04/2021
3 05/2021
列Time由strings 組成。每個string都由周數(從 1 到 52)和年份組成。
我想轉換為 dd/mm/yyyy
Time Time Converted
0 01/2021 10/01/2021
1 02/2021 17/01/2021
2 04/2021 24/01/2021
3 05/2021 31/01/2021
我怎樣才能做到這一點?
如果應該是星期一或星期日,如何選擇dd?就像在下面的替代輸出中一樣?
Time Time Converted 0 01/2021 04/01/2021 1 02/2021 11/01/2021 2 04/2021 18/01/2021 3 05/2021 25/01/2021
我試圖找到任何其他專門處理周數的問題,但我找不到。
如果這是重復的,請告訴我:)
uj5u.com熱心網友回復:
您可以使用pd.to_datetime:
df['Time Converted'] = pd.to_datetime('1/' df['Time'], format='%w/%U/%Y')
print(df)
# Output
Time Time Converted
0 01/2021 2021-01-04
1 02/2021 2021-01-11
2 04/2021 2021-01-25
3 05/2021 2021-02-01
%w: 作業日編號%U: 一年中的周數%Y: 年
更新
我想得到一周的最后一天而不是星期一。(例如 2021 年 10 月 1 日而不是 2021 年 4 月 1 日)。
df['Time Converted'] = pd.to_datetime('0/' df['Time'], format='%w/%U/%Y') \
pd.DateOffset(days=7)
print(df)
# Output
Time Time Converted
0 01/2021 2021-01-10
1 02/2021 2021-01-17
2 04/2021 2021-01-31
3 05/2021 2021-02-07
注意:根據您的 . 調整星期幾(0、1 或 6)locale。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/432141.html
上一篇:main.CRITICAL:DateTime::__construct():無法在位置0決議時間字串(25/02/2022)
