mic*_*ele 3 python machine-learning matplotlib pandas
我正在学习“python机器学习简介”一书中的教程,我复制了以下代码:
#create dataframe from data in X_train
#label the colums using the strings in iris_dataset.features_names
iris_dataframe = pd.DataFrame(X_train, columns = iris_dataset.feature_names)
#create a scatter matrix from the dataframe, color by y_train
pd.plotting.scatter_matrix(iris_dataframe,c=y_train,
figsize=(15,15), marker='o',
hist_kwds={'bins':20},s=60,
alpha=.8,
cmap=mglearn.cm3)
Run Code Online (Sandbox Code Playgroud)
它应该绘制一个图形,但它只打印这些行:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d073934a8>,
<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d07352908>,
<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d07376e48>,
<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d0732ee48>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d072e3f28>,
<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d072e3f60>,
<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d07308ac8>,
<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d07211400>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d071ca470>,
<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d07183470>,
<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d071be470>,
<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d07165e80>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d07127390>,
<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d070e5390>,
<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d0709d390>,
<matplotlib.axes._subplots.AxesSubplot object at 0x7f0d07047da0>]], dtype=object)
Run Code Online (Sandbox Code Playgroud)
有人能告诉我一个原因吗?
编辑解决:我不知道为什么,但是在重新运行单元格后,图表出现了..
小智 5
pandas 本身没有绘图库。大多数用户在绘图时通常使用 matplotlib 库,该库具有不同的命令集。假设您安装了所有正确的库,包括 matplotlib,我会用以下代码结束您的代码:
import matplotlib.pyplot as plt
#assuming you got the correct conversion to a pandas dataframe
pd.plotting.scatter_matrix(df,c=y_train,
figsize=(15,15), marker='o',
hist_kwds={'bins':20},s=60,
alpha=.8,
cmap=mglearn.cm3)
plt.show()
Run Code Online (Sandbox Code Playgroud)
这是进入 plt.show() 的 matplotlib 库的链接还有保存图形的方法,可以在此处的文档中找到