Skip to main content
 首页 » 编程设计

python之格式化 Pandas 数据框索引日期

2025年05月04日26dudu

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

请您参考如下方法:

如果需要 DatetimeIndex 那么问题来了,因为 yyyy-mm-dd 是 pandas< 中 dates 的默认显示格式.

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