pyechart可视化分析有缘网18岁以上女性的相关信息(单身狗请进~)

pyechart可视化分析有缘网18岁以上女性的相关信息(单身狗请进~)

前言

  • pyechart模块可以通过pip install pyechart来安装,这个可视化模块我之前的博文也有用到过,就不多介绍了。其官方文档:http://pyecharts.org,包含了许许多多的案例代码可以拿来修改并复用的。
  • 这些数据是基于我的上一篇博客文章【Scrapy学习心得】爬虫实战五(Scrapy-Redis分布式爬虫)所爬取得到的。
  • 如果只是单纯地爬取数据,而不对其做一些分析,似乎不够完美,而且当你真正去分析之后,会惊奇地发现原来数据中隐藏着很多有趣的信息的。
  • 由于网站的限制导致获取的数据可能不完整,所以分析的结果可能会存在些许偏差。敬请谅解~

废话不多说,下面直接开始吧

一、读取数据

因为我已经把数据保存在MySQL上了,下面直接从数据库中读取就行。

import pymysql

# 建立连接
conn=pymysql.connect(host='localhost',user='',password='',database='db',charset='utf8')
# 建立游标
cursor=conn.cursor()
# 获取数据
sql='select * from youyuan'
cursor.execute(sql)
items=cursor.fetchall()
# 关闭连接
cursor.close()
conn.close()

二、数据预处理

整理读取的数据后,并保存为pandas中dataframe的格式,展示前3条数据:

有一些数据存在与资料里面了,而一条资料是用一个字典来存放的,其结构内容如下:

因此,我们需要对资料中的一些信息进行汇总、合并、处理。

add_dict={}  # 籍贯
weight_dict={} # 体重
edu_dict={}   # 学历
baby_dict={}  # 是否想要小孩
quxiang_dict={} # 喜欢的异性类型
dadnmom_dict={} # 是否愿意与父母同住
wed_dict={}   # 婚姻
occupation_dict={} # 职业
otherarealove_dict={} # 能否接受异地恋
sexbeforewed_dict={}  # 能否接受婚前性行为
charm_dict={}   # 最有魅力的部位
for each in df['资料'].values:
    for key,value in each.items():
        if key == '籍 贯:':
            if value not in list(add_dict.keys()):
                add_dict[value]=1
            else:
                add_dict[value]+=1
        if key == '体 重:':
            if value not in list(weight_dict.keys()):
                weight_dict[value]=1
            else:
                weight_dict[value]+=1
        if key == '学 历:':
            if value not in list(edu_dict.keys()):
                edu_dict[value]=1
            else:
                edu_dict[value]+=1
        if key == '是否想要小孩:':
            if value not in list(baby_dict.keys()):
                baby_dict[value]=1
            else:
                baby_dict[value]+=1
        if key == '喜欢的异性类型:':
            if value not in list(quxiang_dict.keys()):
                quxiang_dict[value]=1
            else:
                quxiang_dict[value]+=1
        if key == '是否愿意与父母同住:':
            if value not in list(dadnmom_dict.keys()):
                dadnmom_dict[value]=1
            else:
                dadnmom_dict[value]+=1
        if key == '婚姻:':
            if value not in list(wed_dict.keys()):
                wed_dict[value]=1
            else:
                wed_dict[value]+=1
        if key == '职业:':
            if value not in list(occupation_dict.keys()):
                occupation_dict[value]=1
            else:
                occupation_dict[value]+=1
        if key == '能否接受异地恋:':
            if value not in list(otherarealove_dict.keys()):
                otherarealove_dict[value]=1
            else:
                otherarealove_dict[value]+=1
        if key == '能否接受婚前性行为:':
            if value not in list(sexbeforewed_dict.keys()):
                sexbeforewed_dict[value]=1
            else:
                sexbeforewed_dict[value]+=1
        if key == '最有魅力的部位:':
            if value not in list(charm_dict.keys()):
                charm_dict[value]=1
            else:
                charm_dict[value]+=1

三、数据可视化

因为数据中可分析的字段比较多,这里就挑了几个个人觉得还挺有趣的来进行可视化分析。

1、年龄的分布情况

ps:由于可视化画图的代码基本都差不多,这里就不重复代码块了

from pyecharts.charts import Bar
import pyecharts.options as opts

data=df['年龄'].value_counts()
# 按字典的键值排序
temp=sorted(data.items(),key=lambda x:x[0])
# 柱状图
c=Bar()
c.add_xaxis([i[0] for i in temp])
c.add_yaxis('',[i[1] for i in temp])
c.set_global_opts(
        title_opts=opts.TitleOpts(title="年龄的分布情况"),
        datazoom_opts=opts.DataZoomOpts(),  # 可拖动的x轴
    )
c.render_notebook()


年龄分布的折线图:


可以看到:最小的17岁,最大的有72岁,24岁有三百多人是最多的,并且还发现了一个趋势,就是24岁之后到35岁之前呈现的是一个下滑的趋势,但35岁之后又呈现出了一个上升的趋势,并且持续到了51岁。可想而知,在这个网站上征男友的人绝大部分是大龄剩女、又或者是已经离婚的;还有小部分20来岁想寻找刺激的。

2、婚姻,住房及学历情况




如图,离异的占了48.76%,将近一半的比例,并且已购房的超过一半有57.3%,还注意到硕士学历以上的占了41.43%。

所以这里,从婚姻和住房的情况,也同样可以知道为什么35岁之后的人数会出现一个上升的趋势了,大部分已经离异,并且可能已经是有房子的了;又或者是博士后吧,大龄剩女。

3、籍贯分布情况



从热力图中知道,四川、湖南湖北以及广东的人数比较多,但是呢,竟有1200多个人选择了保密。下面再看下她们是否接受异地恋的情况吧。

4、是否接受异地恋

如下图所示,有30.21%的女性选择了能接受异地恋,有40.88%选择了看情况。

5、能否接受婚前性行为

有58.54%的女性选择了看情况,有15.25%的女性选择了能,而7.38%的选择了不能。

6、喜欢的异性类型

大部分女性喜欢的异性类型是温柔体贴、稳重内敛。很少一部分女性喜欢外表帅气以及性格可爱的了。从这里也能够侧面反映出为什么35岁之后会有那么多的女性在这个有缘网上寻找伴侣了吧。

四、总结

在有缘网上寻找伴侣的女性,大部分的婚姻情况是离异,可能已经是有房子的(富婆,你懂得),又或者是硕士以上的学历的大龄剩女。她们已经不再喜欢外表帅气、可爱的男孩子,而是要求温柔体贴,成熟稳重的男人;她们的籍贯大部分选择了保密,没有保密的那部分女性主要分布在四川、湖南湖北以及广东这些地区,并且她们应该都不排斥异地恋以及婚前性行为等情况。

好了,看到这里的你们现在知道怎么做了么?[滑稽]

想少奋斗30年的可以去了解了解,不过我觉得还是那句话:网恋有风险,交友需谨慎~

扫描下方二维码关注我的公众号回复20200715即可获得本文全部代码


写在最后

“不经历风雨,怎么见彩虹,没有人能随随便便成功。”

共勉~

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值