altair 与 pandas 不兼容:模块 'pandas.core' 没有属性

altair not compatible with pandas: module 'pandas.core' has no attribute

我最近开始使用 altair 但一直无法正常工作。

import altair as alt
import pandas as pd

print(pd.__version__)   #1.0.5
print(alt.__version__)  #2.0.0rc1 

source = pd.DataFrame({
    'a': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'],
    'b': [28, 55, 43, 91, 81, 53, 19, 87, 52]
})

alt.Chart(source).mark_bar().encode(
    x='a',
    y='b'
)

给我错误:

/Applications/anaconda3/lib/python3.6/site-packages/altair/utils/core.py in sanitize_dataframe(df)
     77     df = df.copy()
     78 
---> 79     if isinstance(df.index, pd.core.index.MultiIndex):
     80         raise ValueError('Hierarchical indices not supported')
     81     if isinstance(df.columns, pd.core.index.MultiIndex):

AttributeError: module 'pandas.core' has no attribute 'index'

前段时间我可能尝试安装一个扩展来使 altair 与 JupyterLab 一起工作。我认为我没有做任何其他事情来搞砸它。

关于如何让它工作有什么建议吗?

Altair 的当前版本是 4.1;自 2.0 版本以来,它有大量的改进和错误修复,这就是其中之一。如果您将 Altair 更新到最新版本,它应该可以工作。