Python 中使用 Seaborn 进行基本的数据排名分析通常涉及到可视化数据的分布和排名。Seaborn 是一个基于 Matplotlib 的数据可视化库,提供了丰富的图表类型,使得数据分析更加直观。可以对数据进行初步的排名分析,了解数据的基本分布情况,从而为更深入的数据分析打下基础。
1、条形图
条形图用于显示离散变量的值。在排名分析中,它可以用来表示不同类别的数量或平均值。使用barplot()
绘制条形图的函数,常用参数如下,
参数 |
描述 |
x |
指定数据的横轴变量 |
y |
指定数据的纵轴变量 |
hue |
在同一图中添加另一个类别维度 |
data |
要使用的数据集,通常是 pandas 的 DataFrame |
order |
控制条形的顺序 |
hue_order |
使用 hue 时控制不同 hue 类别的顺序 |
estimator |
用于聚合的统计函数,默认是平均值 |
ci |
置信区间的大小,默认是 95% |
n_boot |
计算置信区间的引导样本的数量 |
orient |
控制条形图的方向,'v' 垂直,'h' 水平 |
color |
设置所有条形的颜色 |
palette |
为不同的类别指定不同的颜色 |
saturation |
设置颜色的饱和度 |
errcolor |
错误条的颜色 |
errwidth |
错误条的宽度 |
capsize |
错误条两端的横杠大小 |
dodge |
使用 hue 时,控制条形是否应该分开 |
使用示例:
import seaborn as sns import matplotlib.pyplot as plt import pandas as pd # 生成示例数据集 tips = pd.DataFrame({ 'total_bill': [16.99, 10.34, 21.01, 23.68, 24.59], 'tip': [1.01, 1.66, 3.50, 3.31, 3.61], 'sex': ['Female', 'Male', 'Male', 'Male', 'Female'], 'smoker': ['No', 'Yes', 'No', 'Yes', 'No'], 'day': ['Sun', 'Thur', 'Sat', 'Sun', 'Fri'], 'size': [2, 3, 3, 2, 4] }) # 设置 seaborn 样式 sns.set(style="whitegrid") sns.barplot(x="day", y="total_bill", hue="sex", data=tips, order=["Thur", "Fri", "Sat", "Sun"], hue_order=["Female", "Male"], estimator=sum, ci=95, n_boot=1000, orient="v", color="blue", palette="deep", saturation=0.5, errcolor="gray", errwidth=1, capsize=0.1, dodge=True) # 添加图表标题和标签 plt.title('cjavapy') plt.draw() # 展示图表 plt.show()
2、计数图
计数图是条形图的一个特例,用于显示每个类别的观察数量。使用 countplot()
绘制计数图用于显示类别变量中每个类别的观察数量。常用参数如下,
参数名称 |
描述 |
data |
输入数据,可以是 DataFrame、数组、列表等。 |
x, y |
数据中的变量,用于沿 x 轴或 y 轴绘制计数。 |
hue |
分类变量名,用于数据分组,以不同颜色区分。 |
order |
控制主分类的顺序。 |
hue_order |
控制 hue 分类的顺序。 |
orient |
设置图的方向,"v" 为垂直,"h" 为水平。 |
color |
设置所有条形的颜色。 |
palette |
设置不同的颜色,常用于 hue 参数。 |
saturation |
调整颜色的饱和度。 |
dodge |
设置条形是否分开或堆叠,用于 hue 参数。 |
ax |
指定在哪个 matplotlib 的 Axes 对象上绘图。 |
kwargs |
传递给底层 matplotlib 函数的其他关键字参数,用于自定义图表。 |
使用示例:
import seaborn as sns import matplotlib.pyplot as plt import pandas as pd import numpy as np # 创建示例数据 np.random.seed(0) data = pd.DataFrame({ 'Fruit': np.random.choice(['Apple', 'Banana', 'Orange', 'Grapes'], size=100), 'Gender': np.random.choice(['Male', 'Female'], size=100) }) # 创建 countplot plt.figure(figsize=(10, 6)) sns.countplot( data=data, x='Fruit', hue='Gender', order=['Apple', 'Banana', 'Orange', 'Grapes'], # 控制主分类的顺序 hue_order=['Male', 'Female'], # 控制hue分类的顺序 orient='v', color='blue', palette='Set1', # 颜色板 saturation=0.8, dodge=True # 分开显示每个 hue 类别 ) # 添加标题 plt.title('cjavapy') plt.draw() plt.show()
3、线图
数据点是连续的或有时间序列时,线图是一个好选择。它可以展示趋势和排名的变化。使用lineplot()
是 Seaborn 中用于绘制线性数据的一个非常有用的函数。常用参数如下,
参数 |
描述 |
data |
DataFrame、数组或列表类型的数据集 |
x |
指定数据集中用于横轴的变量 |
y |
指定数据集中用于纵轴的变量 |
hue |
数据的分类变量名称,用于颜色区分 |
style |
数据的分类变量名称,用于线条样式 |
size |
数据的分类变量名称,用于线条粗细 |
palette |
设置线条颜色 |
markers |
是否在每个数据点处显示标记 |
dashes |
是否为不同的类使用不同的线型 |
estimator |
控制每个 x 值点处 y 值的估计方式 |
ci |
控制置信区间的大小 |
errorbar |
错误条形式 |
n_boot |
计算置信区间时的引导样本数量 |
使用示例:Python Seaborn 基本数据排名分析-CJavaPy
标签:hue,plt,Seaborn,Python,data,import,排名,数据,order From: https://www.cnblogs.com/tinyblog/p/17993436