数据框中的列看起来像DD / MM / YYYY格式。
我想将其切片并重新排列为MM / DD / YYYY(用于计算)
我试过了:
import pandas as pd
from io import StringIO
csvfile = StringIO("""
DD/MM/YYYY
01/05/2020
21/02/2021
19/06/2021
05/06/2021
11/06/2021
10/05/2021
")
df = pd.read_csv(csvfile, sep = ',', engine='python')
df['DD/MM/YYYY'] = df['DD/MM/YYYY'].astype(str)
df['MM/DD/YYYY'] = df['DD/MM/YYYY'][3:5] + '/' + df['DD/MM/YYYY'][:2] + '/' + df['DD/MM/YYYY'][-4:]
# df['MM/DD/YYYY'] = pd.to_datetime(df['DD/MM/YYYY'][3:5] + '/' + df['DD/MM/YYYY'][:2] + '/' + df['DD/MM/YYYY'][-4:])
print (df)
但这是行不通的。正确的书写方式是什么?谢谢!
用途.str
:
df['MM/DD/YYYY'] = df['DD/MM/YYYY'].str[3:5] + '/' + df['DD/MM/YYYY'].str[:2] + '/' + df['DD/MM/YYYY'].str[-4:]
如果可能的话,您可以按中指定的原始格式解析日期时间format='%d/%m/%Y'
,然后添加Series.dt.strftime
:
df['MM/DD/YYYY'] = pd.to_datetime(df['DD/MM/YYYY'], format='%d/%m/%Y').st.strftime('%m/%d/%Y')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句