消失了一周的 Kevin 归来了!本期我们不讲敏感的东西。因为*饭已经吃得很饱了。
讲讲一个朋友摇号(车牌)的辛酸史。以及我如何用 python 的技术(爬虫,数据分析,可视化)帮他找到原因,并让他更伤心的故事。
文中的数据仅供交流学习,不能作为其他使用依据。文中统一使用了第一人称我,其中摇号的是我朋友。
摇号次数又默默地执行了一次+=1,
当初早知道摇六年都摇不到,还不如趁早又便宜买一块了。。
二月份个人中签率为0.54%!!
这是个什么概念??
平均情况要摇近 200 次才有可能中 1 次!!200 次,要 16.6 年!!
我估计那个时候,人们都开飞机出行了吧。。
大学同宿舍的老王,
参加工作后,把自行车换成了电瓶车,
摇了三次号后把电瓶车换成了小汽车,
天天载着不同的妹子到处兜风!!!
这才是青春岁月应有的记忆!!!!
而我参加工作后,从自行车换成电瓶车,从电瓶车直接换成了地铁!!!
再看着 100 万人摇 5000 多块牌照,
感觉我自己就是 5,000/1,000,000 里的分母中凑数的。
不行!我要跟命运做一回抗争,
我要找一找摇车牌的规律!!
说干就干!
数据的获取可以用爬虫,也可以自己手工复制。这里假设使用复制的方法。实际上我使用的是爬虫。相关代码获取方法我会在文末说明。
网站目标就是某市的小客车增量指标网站。你可以用同样的方法分析你自己城市的网站。
于是我熟练地在浏览器输入了那个让我欢喜让我忧的url,
一番行云流水操作下来后,
把每个中签者的姓氏,通过复制粘贴,复制粘贴,复制粘贴…
全部复制了下来。
接下来是数据分析阶段。
请大家给我点时间~我要点一下,哪个姓氏老是中签…
经过三天三夜的努力,我终于点完了…
继续数据分析,亮出 python,做个词云图,可以看得更直观点:
分享代码:
import matplotlib.pyplot as plt from wordcloud import WordCloud # 1.读入txt文本数据 # 只要读入文本数据,词云这个库就会自动对每个出现的字符进行计数,并按数量多少生成相对尺寸的字符图。 text = open(r'yaohao_data_analysis.txt', "r",encoding='utf-8').read() # 2.生成词云图,这里需要注意的是WordCloud默认不支持中文,所以这里需已下载好的中文字库 # 无自定义背景图:需要指定生成词云图的像素大小,默认背景颜色为黑色,统一文字颜色:mode='RGBA'和colormap='pink' wc = WordCloud( # 设置字体,不指定就会出现乱码 font_path=r'./font.otf', # 设置背景色 background_color='white', # 设置背景宽 width=800, # 设置背景高 height=600, # 最大字体 max_font_size=200, # 最小字体 min_font_size=50, mode='RGBA' #colormap='pink' ) # 产生词云 wc.generate(text) # 保存图片 wc.to_file(r"wordcloud.png") # 按照设置的像素宽高度保存绘制好的词云图,比下面程序显示更清晰 # 3.显示图片 # 指定所绘图名称 plt.figure("摇号分析图") # 以图片的形式显示词云 plt.imshow(wc) # 关闭图像坐标系 plt.axis("off") plt.show()
再来个中签率最高前 20 个姓的条状图:
分享代码:
import re from collections import Counter import matplotlib.pyplot as plt # 实例化一个counter对象 count = Counter() # 将所有的姓氏正则匹配出来 with open('./yaohao_data_analysis.txt','r',encoding="utf-8")as f: text = f.read() f_name_list = re.findall(r'[\u4E00-\u9FA5]',text) for n in f_name_list: count[n] += 1 # 将count转成字典 d = dict(count) # 将无序的字典进行排序 def dict_sort(dic): l=list(dic.items()) l.sort(key=lambda x:x[1],reverse=True) return l key=[] value=[] for k,v in dict_sort(d): key.append(k) value.append(v) # 生成条形图 # 这两行代码解决 plt 中文显示的问题 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False plt.bar(key[:20], value[:20]) plt.title('摇号分析条形图') plt.show()
排名第一的真的是隔壁老王!!
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
保证100%免费
】