Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中未知的字符串格式pd.to_datetime。尝试将此格式转换为日期时间格式时出现问题_Python_Pandas_Datetime_Python Datetime_Python Dateutil - Fatal编程技术网

Python中未知的字符串格式pd.to_datetime。尝试将此格式转换为日期时间格式时出现问题

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

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-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)