首页 > 解决方案 > Pandas23 改变了它处理 xticklabels 的多索引标签的方式?

问题描述

这段代码演示了我从 pandas 0.19.2 切换到 0.23.0 时遇到的问题:df.plot() 没有正确地将 multiindex 转换为 xticklabels。

import pandas as pd
import datetime 
import numpy as np
import dateutil.parser
import dateutil.parser
import matplotlib as plt
%matplotlib inline
import platform


print(f"pandas version: {pd.__version__}")
print(f"python version: {platform.python_version()}")
#create the main dataframe
dt = pd.DatetimeIndex(start='2010-1-1', end = '2010-12-31', freq='m')
dt2 = pd.DatetimeIndex(start='2011-1-1', end = '2011-1-10', freq='d')
mi = pd.MultiIndex.from_product([dt,dt2], names=['assessment_date', 'contract_date'])

df = pd.DataFrame(index=mi)
df['foo']=7

df.plot(rot=50)

当我最初使用此代码时,结果如下所示:

在此处输入图像描述

但现在我使用 pandas 0.23 并且刻度标签不正确

在此处输入图像描述

不知道为什么会发生这种情况,或者在哪里寻找问题。

标签: pythonpandasmatplotlib

解决方案


推荐阅读