我有一个从下面的代码中获得的数据框,但我无法将date
索引转换为dd / mm / yyyy
df= pandas.read_html(base_url, header=0, index_col='Date', parse_dates=True)[0]
df.index = pandas.to_datetime(df.index, dayfirst=True)
这是结果
Col1 Col2
Date
2017-02-10 val1 val1
2017-02-09 val2 val2
2017-02-08 val3 val3
2017-02-07 val4 val4
我已经厌倦了我在stackoverflow上搜索的其他几个不同的变体,但是我无法找到有效的组合。
它仍会将date
打印为yyyy-mm-dd
答案 0 :(得分:5)
如果需要DatetimeIndex
则问题很严重,因为yyyy-mm-dd
是dates
中pandas
的默认显示格式。
如果DatetimeIndex.strftime
需要string
索引:
df.index = df.index.strftime('%d/%m/%Y')
print (df)
Col1 Col2
10/02/2017 val1 val1
09/02/2017 val2 val2
08/02/2017 val3 val3
07/02/2017 val4 val4
print (type(df.index[0]))
<class 'str'>
不幸的是,这不起作用 - docs:
with pd.option_context('display.date_dayfirst', True):
print (df)
Col1 Col2
Date
2017-02-10 val1 val1
2017-02-09 val2 val2
2017-02-08 val3 val3
2017-02-07 val4 val4