如何在Python和Pandas中处理10-January-2023格式的日期转换
日期格式转换解决方案
要把10 January 2023这类日期字符串转换成10-01-2023格式,你需要先解析日期为datetime对象,再指定格式输出——直接用pd.to_datetime()(你可能误写成pd.datetime())只会得到datetime类型对象,不会自动变成目标字符串格式。
单日期转换示例
import pandas as pd # 原始日期字符串 raw_date = "10 January 2023" # 解析为datetime对象 parsed_date = pd.to_datetime(raw_date) # 格式化为dd-mm-yyyy格式的字符串 target_date = parsed_date.strftime("%d-%m-%Y") print(target_date) # 输出:10-01-2023
批量处理Series示例
如果是处理pandas Series中的批量日期:
import pandas as pd date_series = pd.Series(["10 January 2023", "20 March 2023", "5 April 2023"]) # 解析并批量格式化 formatted_series = pd.to_datetime(date_series).dt.strftime("%d-%m-%Y") print(formatted_series) # 输出: # 0 10-01-2023 # 1 20-03-2023 # 2 05-04-2023 # dtype: object
关键说明
pd.to_datetime()负责将字符串解析为datetime64类型,这一步是为了让程序识别日期的逻辑结构;strftime("%d-%m-%Y")是将datetime对象转换成指定格式的字符串:%d代表两位日,%m代表两位月,%Y代表四位年。
内容的提问来源于stack exchange,提问作者Yogesh Kamboj
相关产品推荐
相关产品推荐

