小编典典

格式化pandas数据框索引日期

python

我有一个从以下代码获得的数据框,但无法将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

我已经在搜索了其他几个不同的变体,但是我找不到适合的组合。

它仍然打印出dateasyyyy-mm-dd


阅读 290

收藏
2021-01-20

共1个答案

小编典典

如果需要DatetimeIndex则是个问题,因为yyyy-mm-dddatesin的默认显示格式pandas

如果需要string通过索引DatetimeIndex.strftime

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
2021-01-20