Python Seaborn 基本数据排名分析
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 |
计算置信区间时的引导样本数量 |
使用示例:
浙公网安备 33010602011771号