如何解决“模块‘pandas’没有属性‘scatter_matrix’”错误?
Posted
技术标签:
【中文标题】如何解决“模块‘pandas’没有属性‘scatter_matrix’”错误?【英文标题】:How can I solve " module 'pandas' has no attribute 'scatter_matrix' " error? 【发布时间】:2019-08-19 00:20:17 【问题描述】:我正在尝试使用下面的代码在 Jupyter Notebook 中运行 pd.scatter_matrix()
函数:
import matplotlib.pyplot as plt
import pandas as pd
# Load some data
iris = datasets.load_iris()
iris_df = pd.DataFrame(iris['data'], columns=iris['feature_names'])
iris_df['species'] = iris['target']
pd.scatter_matrix(iris_df, alpha=0.2, figsize=(10, 10))
plt.show()
但我得到了
AttributeError: module 'pandas' has no attribute 'scatter_matrix'
。
即使在终端中执行conda update pandas
和conda update matplotlib
命令后,这种情况仍然会发生。
我执行了pd.__version__
命令来检查我的熊猫版本,它是'0.24.2'
。可能是什么问题?
【问题讨论】:
它在plotting
下:请参阅docs 请根据您的版本检查api
【参考方案1】:
这个方法在pandas.plotting
-docs和pandas.plotting.scatter_matrix
下:
from pandas.plotting import scatter_matrix
scatter_matrix(iris_df, alpha=0.2, figsize=(10, 10))
【讨论】:
我刚接触python,但pandas.plotting不应该已经包含在pandas中了吗?我现在正在运行一个教程,其中给出了问题中的代码,我也想知道为什么它不起作用。但是当使用“from pandas.plotting ...”时,它可以工作。不过,我想知道为什么绘图命令如此特殊,必须手动导入? 貌似在datacamp.com做监督学习课的人来了 @guten_pro 黑客机器学习很棒。你可以在 b-ok.cc 上找到它 @guten_pro,这也是一个很好的资源。我查阅了许多书籍。我的建议是开始阅读;你会找到自己的路的。 @jezreal 你的好答案无处不在。谢谢。【参考方案2】:另一种选择是只保留 pandas 导入并重写命令 scatter_matrix
,如下例所示:
import pandas as pd
pd.plotting.scatter_matrix(iris_df, alpha=0.2, figsize=(10, 10))
【讨论】:
【参考方案3】:使用
from pandas.plotting._misc import scatter_matrix
不要使用pd.scatter_matrix
或pandas.scatter_matrix
可以直接拨打scatter_matrix
例如
cmap = cm.get_cmap('gnuplot')
scatter = scatter_matrix(X, c = y, marker = 'o', s=40, hist_kwds='bins':15,
figsize=(9,9), cmap = cmap)
plt.suptitle('Scatter-matrix for each input variable')
plt.savefig('fruits_scatter_matrix')
plt.show()
【讨论】:
请阅读editing guide【参考方案4】:我用过
from pandas.plotting import scatter_matrix
并直接调用scatter_matrix
就像魅力一样。
【讨论】:
【参考方案5】:用途:
from pandas.plotting import scatter_matrix
代码变成:
import matplotlib.pyplot as plt
from pandas.plotting import scatter_matrix
iris = datasets.load_iris()
iris_df = pd.DataFrame(iris['data'], columns=iris['feature_names'])
iris_df['species'] = iris['target']
scatter_matrix(iris_df, alpha=0.2, figsize=(10, 10))
plt.show()
【讨论】:
以上是关于如何解决“模块‘pandas’没有属性‘scatter_matrix’”错误?的主要内容,如果未能解决你的问题,请参考以下文章