数据分析-Pandas最简单的方法画矩阵散点图

数据分析-Pandas直接画矩阵散点图

数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律?

数据表,时间序列数据在数据分析建模中很常见,例如天气预报,空气状态监测,股票交易等金融场景。数据分析过程中重新调整,重塑数据表是很重要的技巧,此处选择Titanic数据,以及巴黎、伦敦欧洲城市空气质量监测 N O 2 NO_2 NO2数据作为样例。

数据分析

数据分析-Pandas如何转换产生新列

数据分析-Pandas如何统计数据概况

数据分析-Pandas如何轻松处理时间序列数据

数据分析-Pandas如何选择数据子集

数据分析-Pandas如何重塑数据表-CSDN博客

本文用到的样例数据:

Titanic数据

空气质量监测 N O 2 NO_2 NO2数据

样例代码:

源代码参考 Pandas如何重塑数据表

源代码参考 python数据分析-数据表读写到pandas

导入关键模块

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

plt.close("all")

散点图矩阵是一种显示多个变量之间关系的数据可视化工具,特别是当数据集包含三个或多个变量时非常有用。

通常在探索性数据分析中使用,以便快速理解数据集中变量之间的关系。

对角线:通常设置每个变量的单变量分布,可以是密度图,直方图或箱线图。

非对角线图形:是散点图,显示数据集中每对变量间的关系。

最简的矩阵散点图画法

pandas画矩阵散点图方法最简单,只要一句语句搞定。

主要是pandas.plotting 模块,引入scatter_matrix 模块函数。

以下是调用产生随机的4列数据,对角线画密度图,样例:

from pandas.plotting import scatter_matrix

df = pd.DataFrame(np.random.randn(100, 4), columns=["a", "b", "c", "d"])
scatter_matrix(df, alpha=0.8, figsize=(6, 6), diagonal="kde");

plt.show()
plt.close("all")

在这里插入图片描述

图像特点:
1、展示多变量关系:

非对角线的是散点图,显示两个变量之间的关系。散点的分布特征可以揭示变量之间是否存在相关性,比如线性关系、非线性关系或没有明显关系。

2、分布可视化:

对角线上的图通常是直方图或密度图,显示单个变量的分布,帮助了解分布形状、集中趋势和离散程度。

3、散点的分组:

通过不同的颜色或形状,展示数据中的分组、分类情况。

使用场景:
关系识别:快速识别多个变量间的潜在关系,比如线性、非线性或没有关系。

异常值检测:观察数据点集群之外的点来识别异常值。

分布检查:在对角线的图表帮助理解各个变量的分布特征。

群组比较:使用颜色或形状区分不同的群组,可以帮助比较不同群组的特征。

以上代码只是一个简单示例,示例代码中的表达式可以根据实际问题进行修改。

后面介绍下其他的展示形式。

觉得有用 收藏 收藏 收藏

点个赞 点个赞 点个赞

End

GPT专栏文章:

GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案

GPT实战系列-LangChain + ChatGLM3构建天气查询助手

大模型查询工具助手之股票免费查询接口

GPT实战系列-简单聊聊LangChain

GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手

GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(二)

GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(一)

GPT实战系列-ChatGLM2模型的微调训练参数解读

GPT实战系列-如何用自己数据微调ChatGLM2模型训练

GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案

GPT实战系列-Baichuan2本地化部署实战方案

GPT实战系列-Baichuan2等大模型的计算精度与量化

GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF

GPT实战系列-探究GPT等大模型的文本生成-CSDN博客

  • 25
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 我可以用Python来帮助你绘制Iris散点图矩阵。代码如下:import numpy as np import matplotlib.pyplot as plt# 读取iris.npz文件中的数据 data = np.load('iris.npz')# 绘制iris散点图矩阵 plt.scatter(data['x'], data['y'], c=data['c']) plt.xlabel('X') plt.ylabel('Y') plt.show() ### 回答2: 要读取iris.npz文件中的数据并绘制iris散点图矩阵,可以使用Python中的numpy和matplotlib库来完成。以下是一个简单的程序示例: ```python import numpy as np import matplotlib.pyplot as plt # 读取iris.npz文件中的数据 data = np.load('iris.npz') iris_features = data['features'] iris_labels = data['labels'] # 设置不同类别的颜色和标签 colors = ['r', 'g', 'b'] labels = ['Setosa', 'Versicolor', 'Virginica'] # 绘制散点图矩阵 fig, ax = plt.subplots(4, 4, figsize=(12, 12)) for i in range(4): for j in range(4): # 在散点图矩阵的每个子绘制相应的特征 if i == j: ax[i, j].hist(iris_features[:, i], color='gray', alpha=0.8) else: for k in range(3): ax[i, j].scatter(iris_features[iris_labels == k, j], iris_features[iris_labels == k, i], color=colors[k], label=labels[k]) # 设置子的标题和坐标轴标签 if i == 0: ax[i, j].set_title('Feature {}'.format(j + 1)) if j == 0: ax[i, j].set_ylabel('Feature {}'.format(i + 1)) ax[i, j].legend() # 调整子的间距和布局 plt.tight_layout() # 显示散点图矩阵 plt.show() ``` 在这个程序中,我们首先使用np.load函数读取iris.npz文件中的数据,其中`iris_features`表示样本特征,`iris_labels`表示样本标签。然后,我们设置了不同类别的颜色和标签,用于在散点图中区分不同的类别。接下来,我们使用matplotlib库的subplot函数创建一个4×4的子矩阵,并使用循环在每个子绘制相应的特征。当x轴和y轴的特征不同时,我们使用scatter函数绘制散点图,并根据不同的类别使用不同的颜色标记。当x轴和y轴的特征相同时,我们使用hist函数绘制直方表示该特征的分布。最后,我们设置子的标题、坐标轴标签和例,并根据需要调整子的间距和布局。最终,我们使用show函数显示散点图矩阵。 ### 回答3: 要读取iris.npz文件中的数据并绘制iris散点图矩阵,可以使用Python中的数据分析和可视化库,如`numpy`、`pandas`和`matplotlib`。以下是一个编写该程序的示例: ```python import numpy as np import pandas as pd import matplotlib.pyplot as plt # 读取iris.npz文件 data = np.load('iris.npz') iris_data = data['arr_0'] iris_feature_names = data['arr_1'] # 将数据转换为DataFrame格式 df = pd.DataFrame(iris_data, columns=iris_feature_names) # 绘制散点图矩阵 pd.plotting.scatter_matrix(df, figsize=(10, 10)) plt.show() ``` 这个程序首先使用`np.load()`函数加载iris.npz文件,并将数据存储在`iris_data`变量中,将特征名称存储在`iris_feature_names`变量中。然后,使用`pd.DataFrame()`函数将数据转换为DataFrame格式,其中`columns`参数指定列的名称。最后,使用`pd.plotting.scatter_matrix()`函数绘制散点图矩阵,并使用`plt.show()`函数显示形。 要运行这个程序,确保将iris.npz文件放在与程序文件相同的目录中,并将示例中的文件名替换为正确的文件名。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alex_StarSky

你的鼓励是创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值