Python中未知的字符串格式pd.to_datetime。尝试将此格式转换为日期时间格式时出现问题
My DF中的我的列标题采用以下格式-->Python中未知的字符串格式pd.to_datetime。尝试将此格式转换为日期时间格式时出现问题,python,pandas,datetime,python-datetime,python-dateutil,Python,Pandas,Datetime,Python Datetime,Python Dateutil,My DF中的我的列标题采用以下格式--> 我想将它们转换为datetime格式,但Min/Max会导致问题。感谢您的帮助。一个选项可能是用特定年份替换“最小”/“最大”,并根据结果创建日期时间索引: import pandas as pd # let's create a dummy df... cols = ['Max-09-23', 'Min-09-23', 'Max-09-24', 'Min-09-24', 'Max-09-25', 'Min-09-25', 'Max-0
我想将它们转换为datetime格式,但Min/Max会导致问题。感谢您的帮助。一个选项可能是用特定年份替换“最小”/“最大”,并根据结果创建日期时间索引:
import pandas as pd
# let's create a dummy df...
cols = ['Max-09-23', 'Min-09-23', 'Max-09-24', 'Min-09-24', 'Max-09-25',
'Min-09-25', 'Max-09-26', 'Min-09-26', 'Max-09-27', 'Min-09-27',
'Max-09-28', 'Min-09-28', 'Max-09-29', 'Min-09-29', 'Max-09-30',
'Min-09-30', 'Max-10-01', 'Min-10-01', 'Max-10-02', 'Min-10-02']
df_weather = pd.DataFrame({k: [0,0] for k in cols})
# set a default year...
year = '2020'
# to datetime...
dti = pd.to_datetime(df_weather.columns.str.replace('(Max)|(Min)', year))
dti
DatetimeIndex(['2020-09-23', '2020-09-23', '2020-09-24', '2020-09-24',
'2020-09-25', '2020-09-25', '2020-09-26', '2020-09-26',
'2020-09-27', '2020-09-27', '2020-09-28', '2020-09-28',
'2020-09-29', '2020-09-29', '2020-09-30', '2020-09-30',
'2020-10-01', '2020-10-01', '2020-10-02', '2020-10-02'],
dtype='datetime64[ns]', freq=None)
否则,您也可以替换为“”,并使用定义的格式(
format=“-%m-%d”
)强制转换为datetime。但这将增加一个默认年份1900。他们应该得到什么日期?您好,欢迎来到stackoverflow。另外,请发布您已经尝试解决的问题max/Min Month day我已经尝试了一些不同的方法,包括datetime和解析字符串,但没有成功…您想要的列名格式是什么?
import pandas as pd
# let's create a dummy df...
cols = ['Max-09-23', 'Min-09-23', 'Max-09-24', 'Min-09-24', 'Max-09-25',
'Min-09-25', 'Max-09-26', 'Min-09-26', 'Max-09-27', 'Min-09-27',
'Max-09-28', 'Min-09-28', 'Max-09-29', 'Min-09-29', 'Max-09-30',
'Min-09-30', 'Max-10-01', 'Min-10-01', 'Max-10-02', 'Min-10-02']
df_weather = pd.DataFrame({k: [0,0] for k in cols})
# set a default year...
year = '2020'
# to datetime...
dti = pd.to_datetime(df_weather.columns.str.replace('(Max)|(Min)', year))
dti
DatetimeIndex(['2020-09-23', '2020-09-23', '2020-09-24', '2020-09-24',
'2020-09-25', '2020-09-25', '2020-09-26', '2020-09-26',
'2020-09-27', '2020-09-27', '2020-09-28', '2020-09-28',
'2020-09-29', '2020-09-29', '2020-09-30', '2020-09-30',
'2020-10-01', '2020-10-01', '2020-10-02', '2020-10-02'],
dtype='datetime64[ns]', freq=None)