我试图通过在熊猫数据框中创建散射矩阵来显示一个配对图。以下是创建对图的方法:

# Create dataframe from data in X_train
# Label the columns using the strings in iris_dataset.feature_names
iris_dataframe = pd.DataFrame(X_train, columns=iris_dataset.feature_names)
# Create a scatter matrix from the dataframe, color by y_train
grr = pd.scatter_matrix(iris_dataframe, c=y_train, figsize=(15, 15), marker='o',
hist_kwds={'bins': 20}, s=60, alpha=.8, cmap=mglearn.cm3)

我想把成对图显示成这样;
python - 在Pandas数据帧中显示配对图-LMLPHP
我使用的是python v3.6和PyCharm,而不是jupyter笔记本。

最佳答案

使用python 3.5.2,这段代码对我很有用:

import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

from sklearn import datasets

iris_dataset = datasets.load_iris()
X = iris_dataset.data
Y = iris_dataset.target

iris_dataframe = pd.DataFrame(X, columns=iris_dataset.feature_names)

# Create a scatter matrix from the dataframe, color by y_train
grr = pd.plotting.scatter_matrix(iris_dataframe, c=Y, figsize=(15, 15), marker='o',
                                 hist_kwds={'bins': 20}, s=60, alpha=.8)

对于熊猫版本感谢michael-szczepaniak指出此API已被弃用。
grr = pd.scatter_matrix(iris_dataframe, c=Y, figsize=(15, 15), marker='o',
                        hist_kwds={'bins': 20}, s=60, alpha=.8)

我只需要删除cmap=mglearn.cm3部分,因为我无法使mglish工作。sklearn存在版本不匹配问题。
要不显示图像并将其直接保存到文件,可以使用以下方法:
plt.savefig('foo.png')

同时删除
# %matplotlib inline

python - 在Pandas数据帧中显示配对图-LMLPHP

关于python - 在Pandas数据帧中显示配对图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42592493/

10-12 16:51