Pandas+Pyecharts - 快手APP大学生用户数据分析可视化

大家好,我是【Python当打之年】

本期我们利用Python分析快手APP全国大学生用户数据,看看:

希望对小伙伴们有所帮助,如有疑问或者需要改进的地方可以私信小编。

涉及到的库:

可视化部分:

目录

1. 导入模块

2.Pandas数据处理

2.1 读取数据

2.2 查看索引、数据类型和内存信息

2.3 将学校城市拆分成两列:城市、省份

3. Pyecharts数据可视化

3.1 哪个学校学生使用频次最多

3.2 前五学校学生各平台使用频次

3.3 哪些城市(学校所在地)的学生使用频次最多

3.4 哪个省份的生源使用快手APP数量最多

3.5 快手APP男女用户比例

4. 在线运行地址

1. 导入模块

import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.charts import Bar
from pyecharts.charts import Grid
from pyecharts.charts import PictorialBar

2. Pandas数据处理

2.1 读取数据

df = pd.read_csv('kuaishou.csv')
df.head(10)

2.2 查看索引、数据类型和内存信息

一共 704726 条数据。

2.3 将学校城市拆分成两列:城市、省份

df[['学校省份','学校城市']] = df['学校城市'].str.split(':',expand=True)
df.head(10)

3. Pyecharts数据可视化

3.1 哪个学校学生使用频次最多

bar = (
    Bar(init_opts=opts.InitOpts(width='1000px', height='1000px',bg_color='#0d0735'))
    .add_xaxis(df_rate_tmp['学校'].tolist())
    .add_yaxis("", df_rate_tmp['频次'].tolist())
    .set_series_opts(label_opts=opts.LabelOpts(position="right",
                                              font_size=12,
                                              font_weight='bold',
                                              formatter='{c} 次'),
                    itemstyle_opts={"normal": {
                                                "barBorderRadius": [30, 30, 30, 30],
                                                'shadowBlur': 10,
                                                'shadowColor': 'rgba(0,191,255,0.5)',
                                                'shadowOffsetY': 1,
                                                'opacity': 0.8
                                                }
                                       }
                    )
    .set_global_opts(
                    xaxis_opts=opts.AxisOpts(is_show=False,),
                    yaxis_opts=opts.AxisOpts(
                        axislabel_opts=opts.LabelOpts(font_size=13,color='#fff200'),
                        axistick_opts=opts.AxisTickOpts(is_show=False),
                        axisline_opts=opts.AxisLineOpts(is_show=False)
                    ),
                    title_opts=opts.TitleOpts(title="学生使用频次最多的学校",pos_left='center',pos_top='1%',
                              title_textstyle_opts=opts.TextStyleOpts(font_size=22,color="#38d9a9")),
                    visualmap_opts=opts.VisualMapOpts(is_show=False,is_piecewise=False),
                    graphic_opts=[
                            opts.GraphicGroup(
                                graphic_item=opts.GraphicItem(left="5%", top="5%"),
                                children=[
                                    opts.GraphicRect(
                                        graphic_item=opts.GraphicItem(
                                            z=0, left="center", top="middle"
                                        ),
                                        graphic_shape_opts=opts.GraphicShapeOpts(width=900, height=900),
                                        graphic_basicstyle_opts=opts.GraphicBasicStyleOpts(
                                            fill="rgba(0,0,0,0)",
                                            stroke="#fff",
                                            line_width=2,
                                            shadow_blur=20,
                                            shadow_offset_x=5,
                                            shadow_offset_y=5,
                                            shadow_color="#4169E1",
                                        ),
                                    ),
                                ],
                            )
                        ]
                    )
    .reversal_axis()
)

3.2 前五学校学生各平台使用频次

3.3 哪些城市(学校所在地)的学生使用频次最多

3.4 哪个省份的生源使用快手APP数量最多

map_chart = Map(init_opts=opts.InitOpts(theme='light',width='1000px', height='600px',bg_color='#26A69A'))
map_chart.add('',
              [list(z) for z in zip(province_num['学生省份'].tolist(), province_num['数量'].tolist())],
              maptype='china',
              is_map_symbol_show=False,
              itemstyle_opts={
                  'normal': {
                      'shadowColor': 'rgba(0, 0, 0, .5)',
                      'shadowBlur': 5,
                      'shadowOffsetY': 0,
                      'shadowOffsetX': 0,
                      'borderColor': '#fff'
                  }
              }
              )
map_chart.set_global_opts(
    visualmap_opts=opts.VisualMapOpts(
        max_= 40000,
        is_piecewise=True,
        is_show=True,
        split_number = 8,
        pos_top='60%',
        pos_left='8%',
        range_text=['使用频次:', ''],
        range_color=['#f7f4f9','#e7e1ef','#d4b9da','#c994c7','#df65b0','#e7298a','#ce1256','#91003f']
    ),
    legend_opts=opts.LegendOpts(is_show=False),
    tooltip_opts=opts.TooltipOpts(is_show=True,trigger='item',formatter='{b}: {c}'),
    title_opts=dict(text='各省份生源数量',left='center',top='8%',textStyle=dict(color='#DC143C', font_size=20, font_weight='bold')),)
map_chart.render_notebook()

3.5 快手APP男女用户比例

4. 在线运行地址

篇幅原因,部分代码未展示,在线运行地址(含源码)

https://www.heywhale.com/home/column/60e2740e3aeb9c0017b967a2

END

以上就是本期为大家整理的全部内容了,赶快练习起来吧,喜欢的朋友可以点赞、转发,也可以在评论区留言相互交流。文章首发公众号 “Python当打之年” ,每天都有python编程技巧推送,希望大家可以喜欢。

往期推荐

展开阅读全文

页面更新:2024-04-25

标签:快手   在线   频次   用户数   生源   省份   大学生   学校   数据   用户   城市   学生

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top