天天看點

Pandas+Pyecharts | 快手APP大學生使用者資料分析可視化

作者:Python當打之年

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

本期我們利用Python分析快手APP全國大學生使用者資料,看看:

  • 哪個學校的學生最喜歡使用快手APP
  • Android、IOS、PC三大平台使用者占比份額
  • 全國哪些城市(學校所在地)的學生使用頻次最高
  • 全國哪些省份的生源最喜歡使用快手APP
  • ...

希望對小夥伴們有所幫助,如有疑問或者需要改進的地方可以私信小編。

涉及到的庫:

  • Pandas — 資料處理
  • Pyecharts — 資料可視化

可視化部分:

  • 柱狀圖 — Bar
  • 地圖 — Map
  • 組合元件 — Grid
  • 象形圖 — PictorialBar

目錄

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)           
Pandas+Pyecharts | 快手APP大學生使用者資料分析可視化

2.2 檢視索引、資料類型和記憶體資訊

Pandas+Pyecharts | 快手APP大學生使用者資料分析可視化

一共 704726 條資料。

2.3 将學校城市拆分成兩列:城市、省份

df[['學校省份','學校城市']] = df['學校城市'].str.split(':',expand=True)
df.head(10)           
Pandas+Pyecharts | 快手APP大學生使用者資料分析可視化

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()
)           
Pandas+Pyecharts | 快手APP大學生使用者資料分析可視化
  • 浙江水利水電學院學生以接近50000的快手使用頻次高居榜首,武漢工程大學、福建醫科大學、漢口學院緊随其後,快手使用頻次接近40000次

3.2 前五學校學生各平台使用頻次

Pandas+Pyecharts | 快手APP大學生使用者資料分析可視化
  • 三大平台的使用情況依次為:Android、ISO、PC,這也符合目前的電子裝置使用行情(手機>電腦)

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

Pandas+Pyecharts | 快手APP大學生使用者資料分析可視化
  • 各城市學生使用頻次角度的地區分布集中在東部地區,其中廣州以超過85萬頻次排名第一
  • 北京、西安、長沙、重慶、武漢、上海等城市以超過60萬的頻次緊随其後

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()           
Pandas+Pyecharts | 快手APP大學生使用者資料分析可視化
  • 從各省份生源數量分布來看:東部沿海地區使用快手APP的學生數量要明顯高于中部和西部地區

3.5 快手APP男女使用者比例

Pandas+Pyecharts | 快手APP大學生使用者資料分析可視化
  • 男女使用者比例:男性使用者(54.55%)要比女性使用者(45.45%)高出大概10%

4. 線上運作位址

篇幅原因,部分代碼未展示,線上運作位址(含源碼):

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

END

以上就是本期為大家整理的全部内容了,趕快練習起來吧,喜歡的朋友可以點贊、轉發,也可以在評論區留言互相交流。文章首發公衆号 “Python當打之年” ,每天都有python程式設計技巧推送,希望大家可以喜歡。

  • 40000+條考研資訊資料可視化(學校、專業分數分布)
  • 可視化 | Python分析中秋月餅,這幾種口味才是yyds
  • 看完這份全國各地結婚/離婚資料,我徹底懵了
  • Pandas+Pyecharts | 全國熱門旅遊景點資料分析+可視化
  • 可視化 | Python精美地圖動态展示近20年全國各省市GDP
  • Python | 世界足球俱樂部排名可視化

繼續閱讀