在 Pandas 数据框中显示对图

新手上路,请多包涵

我试图通过在 pandas 数据框中创建 scatter_matrix 来显示一对图。这就是配对图的创建方式:

 # 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 v3.6 和 PyCharm ,没有使用 Jupyter Notebook。

原文由 user3848207 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 823
2 个回答

此代码使用 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)

对于熊猫版本 < v0.20.0。

感谢 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 部分,因为我无法使 mglearn 工作。 sklearn 存在版本不匹配问题。

要不显示图像并将其直接保存到文件中,您可以使用以下方法:

 plt.savefig('foo.png')

同时删除

# %matplotlib inline

在此处输入图像描述

原文由 Vikash Singh 发布,翻译遵循 CC BY-SA 3.0 许可协议

只是对 Vikash 的出色回答的更新。最后两行现在应该是:

 grr = pd.plotting.scatter_matrix(iris_dataframe, c=Y, figsize=(15, 15), marker='o',
                                 hist_kwds={'bins': 20}, s=60, alpha=.8)

scatter_matrix 函数已移至 绘图 包,因此原来的答案虽然正确,但现在已弃用。

所以现在完整的代码是:

 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 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题