2017-02-12 112 views
1

我有一个数据帧,我从下面的代码了,但我无法将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上搜索,但我无法找到有效的组合。

它仍然打印出dateyyyy-mm-dd

回答

1

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

如果需要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 
+0

感谢@jezrael。我不认为我可以这样做'strftime'。 :) –