python - Pandas scatter_matrix 模拟函数对(lower.panel,upper.panel)

标签 python r pandas scatter-plot subplot

我需要在 Python 中创建一个散布矩阵。我尝试使用 scatter_matrix 来实现此目的,但我只想保留对角线上方的散点图。

我正处于真正的开始阶段(没有走得太远),当列有名称(不是默认数字)时我会遇到麻烦。

这是我的代码:

import itertools
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

data=pd.DataFrame(np.random.randint(0,100,size=(10, 5)), columns=list('ABCDE')) #THE PROBLEM IS HERE - I WILL HAVE COLUMNS WITH NAMES

d = data.shape[1]

fig, axes = plt.subplots(nrows=d, ncols=d, sharex=True, sharey=True)
for i in range(d):
    for j in range(d):
            ax = axes[i,j]
            if i == j:
                ax.text(0.5, 0.5, "Diagonal", transform=ax.transAxes,
                        horizontalalignment='center', verticalalignment='center',
                        fontsize=16)
            else:
                ax.scatter(data[j], data[i], s=10)

最佳答案

从数据框中选择列时遇到问题。您可以使用 iloc 根据整数位置选择列。将最后一行更改为:

ax.scatter(data.iloc[:,j], data.iloc[:,i], s=10)

给予:

enter image description here

关于python - Pandas scatter_matrix 模拟函数对(lower.panel,upper.panel),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39778987/

相关文章:

python - 在Python中,是否可以迭代每个线程存储在线程局部中的值?

r - 减少部分排序

R:加速功能的建议(删除数据框中的重复项)

python - 使用python计算表中某个id的值

python - 如何根据列名属性对 Pandas 数据框进行切片?

python - 从 Pivot reshape 和选择 Pandas

python - 在获取选择了哪个单选按钮并根据选择发出命令时遇到一些问题

python - 向我解释 .join() 在 Python 中如何工作

python - Postman、Python 并将图像和元数据传递到 Web 服务

r - 使用 r (data.table/dplyr) 中的列表列