为什么不能以日期格式存储DD-MM-YYYY格式



我正在尝试转换"YYYY-MM-DD";格式为";DD-MM-YYYY";但我想保持约会类型,但我无法告诉你为什么?还是我做错了什么?

import moment
df = pd.DataFrame({"Date": ["2022-12-10", "2022-12-11", "2022-12-12"]})
df["Date"] = [moment.date(s).format('D-M-YYYY') for s in df["Date"]]
print(df)
print(df["Date"].dtypes)
Date
0  10-12-2022
1  11-12-2022
2  12-12-2022
object
import pendulum as pdl
df = pd.DataFrame({"Date": ["2022-12-10", "2022-12-11", "2022-12-12"]})
df["Date"] = [pdl.from_format(s, 'YYYY-MM-DD', tz='America/Sao_Paulo').format('D-M-YYYY') for s in df["Date"]]
print(df)
print(df["Date"].dtypes)
Date
0  10-12-2022
1  11-12-2022
2  12-12-2022
object

按照您尝试的解决方案的格式,正确的方法(不是最有效的(是:

import datetime
df["Date"] = [datetime.datetime.strptime(s, '%Y-%m-%d').strftime('%d-%m-%Y') for s in df["Date"]]

如果您需要在解决方案中提高效率,理想的做法是使用矢量化操作,例如:

df['Date'] = pd.to_datetime(df['Date'])
df['Date'] = df["Date"].dt.strftime("%d-%m-%Y")

或者在一行中:

df['Date'] = pd.to_datetime(df['Date']).dt.strftime("%d-%m-%Y")

最新更新