pandas+pyecharts数据分析,摆脱excel

最近k老板正好要我处理关于2014-2020某网站的商标数据,现在直播如何处理。

需求

  1. 根据申请公司的地址分析国内各地区商标需求

  2. 一家公司最多申请多少个商标

  3. 近三年的增幅

  4. 画出个图

选择工具与库

  1. 当然是pandas

  2. 画图选pyecharts,matplotlib也可以,但细节设置比较麻烦,图也没echarts多

打开数据,分析需求

  1. 我惊了,好家伙,10万条数据,这excel打开都得十几秒,这不得用python?
image

需求一:只要整出公司地址然后计个数

打开pycharm(jupyter也可以,但几万条数据中间调试反而是浪费我时间,直接pycharm开干)

#导入相应模块
import pandas as pd
import xlrd
from pyecharts.charts import Bar,Line,Tab
import pyecharts.options as opts

df = pd.read_excel('./data.xlsx')  #读取数据

现在有个问题,申请人地址是公司具体地址,但是我需要看每个省的数量。但数据很规范,都是xx省xx市的形式,我们取前三个字符即可。

说明:数据里还有泰国、韩国啥的,但我要这些干什么,我只要国内的注册数量前15就够了,这些不用管。

df["申请人地址"] = df["申请人地址"].apply(lambda x:x[:3]) # 选择地址列,切片前三个字符,lambda相当于一个小def

然后计数排序

data = df["申请人地址"].value_counts().sort_values(ascending=False) # 降序方式

画图开始

直接pyecharts官方文档复制

bar = (
    Bar()
    .add_xaxis(data.head(15).index.tolist()) # x轴取索引
    .add_yaxis("", data.head(15).tolist()) # y轴取上面得到的值
    .set_global_opts(
        title_opts=opts.TitleOpts(title="各地域需求量(前15)")
    ).render()
)

领导要的肯定远远不是这些,还不知道他这B?他肯定要的是全部数据,导出一下

data = pd.DataFrame({'省份':data.index.tolist(),"数量":data.tolist()}) # 新建dDateFrame
data.to_excel('地域需求量.xlsx',sheet_name='1') #写入excel

右键运行,倒杯卡布奇诺

结果如下:

image

需求二:一家公司最多申请多少个商标

啥也别分析了,先打开pycharm导库和读数据,这是必须要的,就跟写数学你得先写个解字。

import pandas as pd
import xlrd
from pyecharts import options as opts
from pyecharts.charts import Bar,Pie
df = pd.read_excel('./data.xlsx')

现在有点麻烦,申请人地址就是公司,我根据申请人地址就能看到这个公司有多少个商标,但是你知道吗,同一个名称的商标里面还有分类,现在要统计的是这个公司有多少个不同名的商标。

也就是说,这波分析需要三个考虑三个东西:申请人地址、商标名、商标分类,按上面那个需求的操作只能统计出一个公司下面有多少个商标(含名称和分类)。

各位,看我操作:

data = df.groupby('申请人地址')['商标名'].nunique().sort_values(ascending=False)

一行代码直接搞定,我不会excel,不知道excel得怎么做。这行代码做的事情如下:

1.按申请人地址进行整个数据的分组

2.在分组里取商标名这一列

3.在商标名里取唯一值并计数

4.排序

这个nunique方法是我在各大教程从来没有见过的,其实for遍历也可以实现这个需求,但我很清楚pandas的存在最大意义就是减少for循环,而且这不够帅,所以我翻遍网络找到这个东西。

下面是和上一个需求最后相同操作:

df = data.head(15) #数据只要排名靠前的
c = (
    Bar()
    .add_xaxis(df['申请人地址'].tolist())
    .add_yaxis("", df['商标个数'].tolist())
    .set_global_opts(
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(is_show=False)),
        title_opts=opts.TitleOpts(title="各公司申请数量", subtitle=""),
    )
    .render("bar_rotate_xaxis_label.html")
)
data = pd.DataFrame({'申请人地址':data.index.tolist(),"商标个数":data.tolist()})
data.to_excel('每家公司的商标个数.xlsx',sheet_name='商标个数') #写入excel

结果展示:

image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,492评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,048评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,927评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,293评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,309评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,024评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,638评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,546评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,073评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,188评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,321评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,998评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,678评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,186评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,303评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,663评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,330评论 2 358

推荐阅读更多精彩内容