数据分析-Pandas数据分组箱线图
数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律?
数据表,时间序列数据在数据分析建模中很常见,例如天气预报,空气状态监测,股票交易等金融场景。数据分析过程中重新调整,重塑数据表是很重要的技巧,此处选择Titanic数据,以及巴黎、伦敦欧洲城市空气质量监测 N O 2 NO_2 NO2数据作为样例。
数据分析
数据分析-Pandas如何转换产生新列
数据分析-Pandas如何统计数据概况
数据分析-Pandas如何轻松处理时间序列数据
数据分析-Pandas如何选择数据子集
数据分析-Pandas如何重塑数据表-CSDN博客
本文用到的样例数据:
Titanic数据
样例代码:
源代码参考 Pandas如何重塑数据表
源代码参考 python数据分析-数据表读写到pandas
导入关键模块
import pandas as pd
import numpy as np
import matplotlib.pyplot as pltplt.close("all")
画箱线图
除了df.plot.box 画图以外,还有一种方法,就是df.boxplot() 方法。一样可以画箱线图表达出最大值,最小值,中位数等信息,以下是调用的样例:
df = pd.DataFrame(np.random.rand(10, 5))plt.figure();bp = df.boxplot()
分组箱线图
如果还想设置分组,例如,前5行为A组,后5行为B组,可以一并显示,例如:
df = pd.DataFrame(np.random.rand(10, 2), columns=["Col1", "Col2"])df["X"] = pd.Series(["A", "A", "A", "A", "A", "B", "B", "B", "B", "B"])plt.figure();bp = df.boxplot(by="X")
更复杂一点的分组,这里为2种分组,自行琢磨下。如下:
df = pd.DataFrame(np.random.rand(10, 3), columns=["Col1", "Col2", "Col3"])df["X"] = pd.Series(["A", "A", "A", "A", "A", "B", "B", "B", "B", "B"])df["Y"] = pd.Series(["A", "B", "A", "B", "A", "B", "A", "B", "A", "B"])plt.figure();bp = df.boxplot(column=["Col1", "Col2"], by=["X", "Y"])
其实分组,对于df.plot.box() 也可以用的,图像略有差异
df = pd.DataFrame(np.random.rand(10, 3), columns=["Col1", "Col2", "Col3"])df["X"] = pd.Series(["A", "A", "A", "A", "A", "B", "B", "B", "B", "B"])plt.figure();bp = df.plot.box(column=["Col1", "Col2"], by="X")
以上代码只是一个简单示例,示例代码中的表达式可以根据实际问题进行修改。
后面介绍下其他的展示形式。
觉得有用 收藏 收藏 收藏
点个赞 点个赞 点个赞
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博客