数据分析-Pandas雷达图的多维数据可视化
数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律?
数据表,时间序列数据在数据分析建模中很常见,例如天气预报,空气状态监测,股票交易等金融场景。数据分析过程中重新调整,重塑数据表是很重要的技巧,此处选择Iris数据,以及巴黎、伦敦欧洲城市空气质量监测 N O 2 NO_2 NO2数据作为样例。
数据分析
本文用到的样例数据:
样例代码:
导入关键模块
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.close("all")
在pandas数据分析中,了解观察多维数据的分布规律是非常重要的。各个维度数据的分布、度量通常用来直观描述数据集的分类位置,作为进一步探查分析的方向。
Pandas画图中的高级画图可以实现雷达图,观察数据的各个维度空间的分布特性。
最简雷达图画法
pandas画 雷达图方法最简单,只要一句语句搞定。
直接使用 Dataframe,RadViz函数即可。
from pandas.plotting import radviz
data = pd.read_csv("iris.csv")
plt.figure();
radviz(data, "Name");
plt.show()
plt.close("all")
如果缺少数据文件,如下更少数据示例更清晰:
df = pd.DataFrame(
{
'SepalLength': [6.5, 7.7, 5.1, 5.8, 7.6, 5.0, 5.4, 4.6, 6.7, 4.6],
'SepalWidth': [3.0, 3.8, 3.8, 2.7, 3.0, 2.3, 3.0, 3.2, 3.3, 3.6],
'PetalLength': [5.5, 6.7, 1.9, 5.1, 6.6, 3.3, 4.5, 1.4, 5.7, 1.0],
'PetalWidth': [1.8, 2.2, 0.4, 1.9, 2.1, 1.0, 1.5, 0.2, 2.1, 0.2],
'Category': [
'virginica',
'virginica',
'setosa',
'virginica',
'virginica',
'versicolor',
'versicolor',
'setosa',
'virginica',
'setosa'
]
}
)
pd.plotting.radviz(df, 'Category')
图示说明
4个特征对应于单位圆上的4个点,圆中每一个散点代表表中一行数据。可以想象为每个散点上都有4条线分别连接到4个特征点上,而特征值(经过标准化处理)就表示这4条线施加在散点上的力,每个点的位置恰好使其受力平衡。
RadViz是一种将N维数据集可视化为2D图的方法。 当拥有超过3维(特征)数据,或更多数据的问题时,超出人们可视化的能力。
Radviz可以将N维数据集投影到2D空间中,其中每个维的影响,可以解释为所有维的重要性之间的平衡。 简单来说,这意味着我们可以以原始方式将多维数据投影到2D空间中 。
以上代码只是一个简单示例,示例代码中的表达式可以根据实际问题进行修改。
后面介绍下其他的展示形式。
觉得有用 收藏 收藏 收藏
点个赞 点个赞 点个赞
End
GPT专栏文章:
GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案
GPT实战系列-LangChain + ChatGLM3构建天气查询助手
GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(二)
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(一)
GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案