Pandas索引日期时间格式没有提供所需的输出Python3



我尝试了以下操作:

df.index= pd.to_datetime(df.index,format="%Y.%m.%d %HH:%MM:%SS")
df.tail()

输出为:

open    high    low close
Time                    
2018-07-24 16:25:00 1.16963 1.16976 1.16952 1.16952
2018-07-24 16:26:00 1.16952 1.16952 1.16938 1.16939
2018-07-24 16:27:00 1.16939 1.16940 1.16896 1.16908
2018-07-24 16:28:00 1.16909 1.16929 1.16908 1.16929
2018-07-24 16:29:00 1.16930 1.16932 1.16919 1.16925

我期望数据帧的Time索引的格式如下所示:

open    high    low close
Time                    
2018.07.24 16:25:00 1.16963 1.16976 1.16952 1.16952
2018.07.24 16:26:00 1.16952 1.16952 1.16938 1.16939
2018.07.24 16:27:00 1.16939 1.16940 1.16896 1.16908
2018.07.24 16:28:00 1.16909 1.16929 1.16908 1.16929
2018.07.24 16:29:00 1.16930 1.16932 1.16919 1.16925

请帮我渡过难关。

我认为您只需要一个HMS:

df = pd.DataFrame({'Time': ['2018.07.24 16:25:00', '2018.07.24 16:26:00', '2018.07.24 16:27:00', '2018.07.24 16:28:00', '2018.07.24 16:29:00'], 'open': [1.16963, 1.1695200000000001, 1.16939, 1.16909, 1.1693], 'high': [1.1697600000000001, 1.1695200000000001, 1.1694, 1.16929, 1.1693200000000001], 'low': [1.1695200000000001, 1.1693799999999999, 1.16896, 1.16908, 1.16919], 'close': [1.1695200000000001, 1.16939, 1.16908, 1.16929, 1.16925]}).set_index('Time')

print (df)
open     high      low    close
Time                                                   
2018.07.24 16:25:00  1.16963  1.16976  1.16952  1.16952
2018.07.24 16:26:00  1.16952  1.16952  1.16938  1.16939
2018.07.24 16:27:00  1.16939  1.16940  1.16896  1.16908
2018.07.24 16:28:00  1.16909  1.16929  1.16908  1.16929
2018.07.24 16:29:00  1.16930  1.16932  1.16919  1.16925
print (df.index)
Index(['2018.07.24 16:25:00', '2018.07.24 16:26:00', '2018.07.24 16:27:00',
'2018.07.24 16:28:00', '2018.07.24 16:29:00'],
dtype='object', name='Time')

如果需要创建Datetimeindex:

df.index= pd.to_datetime(df.index,format="%Y.%m.%d %H:%M:%S")
print (df)
open     high      low    close
Time                                                   
2018-07-24 16:25:00  1.16963  1.16976  1.16952  1.16952
2018-07-24 16:26:00  1.16952  1.16952  1.16938  1.16939
2018-07-24 16:27:00  1.16939  1.16940  1.16896  1.16908
2018-07-24 16:28:00  1.16909  1.16929  1.16908  1.16929
2018-07-24 16:29:00  1.16930  1.16932  1.16919  1.16925
print (df.index)
DatetimeIndex(['2018-07-24 16:25:00', '2018-07-24 16:26:00',
'2018-07-24 16:27:00', '2018-07-24 16:28:00',
'2018-07-24 16:29:00'],
dtype='datetime64[ns]', name='Time', freq=None)

但如果要自定义索引格式,请使用DatetimeIndex.strftime,但DatetimeIndex丢失,索引为字符串:

df.index = df.index.strftime("%Y.%m.%d %H:%M:%S")
print (df)
open     high      low    close
2018.07.24 16:25:00  1.16963  1.16976  1.16952  1.16952
2018.07.24 16:26:00  1.16952  1.16952  1.16938  1.16939
2018.07.24 16:27:00  1.16939  1.16940  1.16896  1.16908
2018.07.24 16:28:00  1.16909  1.16929  1.16908  1.16929
2018.07.24 16:29:00  1.16930  1.16932  1.16919  1.16925
print (df.index)
Index(['2018.07.24 16:25:00', '2018.07.24 16:26:00', '2018.07.24 16:27:00',
'2018.07.24 16:28:00', '2018.07.24 16:29:00'],
dtype='object')

最新更新