通过Pyecharts和Matplotlib对数据中的性别信息进行可视化

2023-11-10

前言

在进行描述性数据分析时会遇到需要进行分类统计的数据,例如性别,所在地区等等。本篇文章用数据中的性别信息为例并通过Pyecharts和Matplotlib对其进行可视化。

1.导入数据

import pandas as pd
import numpy as np
data_path = '../data/air_data.csv'
data = pd.read_csv(data_path)
data

2.提取性别列数据

sex_data = data.iloc[:,3]
sex_data

 3.对性别列数据进行计数

sex_count = sex_data.value_counts()
sex_count

 4.生成性别数据的DataFrame

man_count = sex_count.values[0]
woman_count = sex_count.values[1]
all_count1 = [man_count,woman_count]
dic1 = {'sex1':['男','女'],'sex_count1':all_count1}
df1 = pd.DataFrame(dic1)
df1

 5.通过Pyecharts对性别信息进行可视化

#导入工作包
from pyecharts.charts import Pie
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
from pyecharts import options as opts
#提取数据列表
x_data = df1["sex1"].tolist()
y_data = df1["sex_count1"].tolist()
#进行绘图
c = (
    Pie()
    .add("", [list(z) for z in zip(x_data, y_data)])   # zip函数两个部分组合在一起list(zip(x,y))-----> [(x,y)]
    .set_global_opts(title_opts=opts.TitleOpts(title="男女比例占比"))  # 标题
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))  # 数据标签设置
    .set_colors(["blue", "orange"])
)
c.load_javascript()

 注:为避免运行为空白,建议将上下两段代码分开运行。

c.render_notebook()

  6.通过Matplotlib对性别信息进行可视化

#对男女比例进行计算
man_scale = man_count/(man_count+woman_count)
woman_scale = woman_count/(man_count+woman_count)
#生成男女比例的DataFrame
all_count2 = [man_scale,woman_scale]
dic2 = {'sex2':['男','女'],'sex_count2':all_count}
df2 = pd.DataFrame(dic2)
df2

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']   
plt.rcParams['axes.unicode_minus'] = False    
plt.figure(figsize=(7,7))
mw = df2.set_index('sex2')                 
result = mw[['sex_count2']]        
plt.pie(result['sex_count2'], labels=result.index, autopct='%3.1f%%',textprops={'fontsize': 18})  
plt.title('男女比例占比',fontsize=18)             
plt.show()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过Pyecharts和Matplotlib对数据中的性别信息进行可视化 的相关文章