Python数据分析之糗事百科第二弹

简介: 上回说到糗事百科段子的分析,今天对另外一张表,也就是用户信息表的分析。数据预处理导入数据import pandas as pdimport pymongoimport jieba.

上回说到糗事百科段子的分析,今天对另外一张表,也就是用户信息表的分析。

数据预处理

  • 导入数据
import pandas as pd
import pymongo
import jieba.analyse
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
client = pymongo.MongoClient('localhost',port = 27017)
qiushi = client['qiushi']
qiushi_info = qiushi['qiushi_info']
data1 = pd.DataFrame(list(qiushi_info.find()))

qiushi = client['qiushi']
user_info = qiushi['user_info']
data2 = pd.DataFrame(list(user_info.find()))

data1为段子信息,data2为用户信息,二个表都有用户url,我们可以将其merge。

  • merge
all_data = pd.merge(data1,data2,on='user_url')
all_data
3629157-17bfc36e022b269d.jpg
  • 去重
    由于有些高玩用户发过多个段子,所以这里需要去重,通过用户id获取唯一值。
data3 = all_data.drop_duplicates(['id'])

段子手星座分布

对于数字类的分析,上次已经讲过几个,我主要是对段子手的星座和地区感兴趣,今天就分析下,大家也可以每个维度都分析下。

xingzuo = data3.groupby('constellation').size()

plt.figure(figsize=(10,6),dpi=80)
labels = list(xingzuo.index)
sizes = list(xingzuo)
plt.xlabel('星座')
plt.ylabel('用户个数')
plt.title('糗事百科用户星座分布图')
plt.bar(range(len(sizes)),sizes,tick_label=labels,color='#99CC01',alpha=0.7)#alpha为透明度
plt.grid(color='#95a5a6',linestyle='--', linewidth=1,axis='y',alpha=0.6)
plt.legend(['用户个数'])
for x,y in zip(range(len(sizes)),sizes):
    plt.text(x, y,y, ha='center', va= 'bottom')
3629157-5ae6663da3e77eba.jpg

除了不详的之外,天秤座用户最多,白羊座最少。

天秤座常常追求和平和谐的感觉,他们善于交谈,沟通能力极强是他们最大的优点。但他们最大的缺点,往往是犹豫不决。天秤座的人容易将自己的想法加诸到别人身上,天秤座的人要小心这点

白羊座就像小孩子一样,直率、热情、冲动,但也十分的自我为中心和孩子气

段子手地区分布

如图,数据是分省和市的,我们只提取省的数据,这部分可以在爬虫时进行处理。


3629157-e836945511f54da4.jpg
list_1=[]
for i in range(0,273):
    list_1.append(data3.iat[i,-6].split('· ')[0])
data3['province'] = list_1
data3
3629157-69837eed0f097895.jpg
sheng = data3.groupby('province').size()
plt.figure(figsize=(20,6),dpi=80)
labels = list(sheng.index)
sizes = list(sheng)
plt.xlabel('省市')
plt.ylabel('用户个数')
plt.title('糗事百科用户省市分布图')
plt.bar(range(len(sizes)),sizes,tick_label=labels,color='#99CC01',alpha=0.7)#alpha为透明度
plt.grid(color='#95a5a6',linestyle='--', linewidth=1,axis='y',alpha=0.6)
plt.legend(['用户个数'])
for x,y in zip(range(len(sizes)),sizes):
    plt.text(x, y,y, ha='center', va= 'bottom')
3629157-cb047a2a50a5ba60.jpg

大家看看,哪个省盛产段子手。我们也可以调用百度api,获取省的经纬度,然后用BDP画出这样的地图。

img_0ed2769de7716dd9596553d2faca8f8b.png

总结

通过2个案例主要讲解了python数据分析的基本流程。

  • 数据导入
  • 数据预处理
  • 数据整合
  • 数据可视化
相关文章
|
23小时前
|
机器学习/深度学习 数据可视化 数据挖掘
数据可视化大不同!Python数据分析与机器学习中的Matplotlib、Seaborn应用新视角!
【7月更文挑战第22天】数据可视化在Python数据科学中至关重要,Matplotlib和Seaborn提供强大工具。案例展示如何用它们分析房屋售价数据:Matplotlib绘制面积与售价散点图揭示正相关,Seaborn的pairplot展示多变量关系。在建模阶段,特征重要性通过条形图可视化,辅助模型优化。这两库是理解数据和提升模型性能的关键。
10 3
|
2天前
|
数据采集 机器学习/深度学习 数据挖掘
从混乱到有序,Python数据清洗术,让你的数据分析之路畅通无阻!
【7月更文挑战第20天】数据清洗在数据分析中至关重要,它确保数据质量,影响分析准确性和效率。Python的Pandas库是数据预处理的得力工具。基本步骤包括:导入数据(如`pd.read_csv()`)、检查概况(`head()`, `info()`, `describe()`)、处理缺失值(`fillna()`或`dropna()`)、转换数据类型(`pd.to_numeric()`)、去除重复项(`drop_duplicates()`)、排序和筛选数据,以及对分类变量编码(如使用`LabelEncoder`)。
22 3
|
3天前
|
数据采集 机器学习/深度学习 数据挖掘
转换数据,扭转乾坤!Python转换技巧,让你的数据分析如虎添翼!
【7月更文挑战第19天】Python在数据转换中扮演关键角色,借助Pandas库进行数据清洗,如填充缺失值、处理异常值和转换数据类型。数据重塑通过pivot、melt和groupby提供多维度视图。文本数据通过独热编码或标签编码转化为数值。自定义函数解决复杂转换问题,提升数据分析的深度和准确性。掌握这些技巧,能有效挖掘数据价值,助力决策。
18 4
|
2天前
|
人工智能 算法 数据挖掘
高效文本处理新纪元:Python后缀树Suffix Tree,让数据分析更智能!
【7月更文挑战第20天】后缀树是文本处理的关键工具,它在Python中虽需第三方库支持(如pysuffixtree),但能高效执行搜索、重复内容检测等任务。应用于文本搜索、重复内容检测、生物信息学、文本压缩及智能推荐系统。随着AI和大数据发展,后缀树将在更多领域展现潜力,助力数据分析智能化和高效化。学习和利用后缀树,对于驾驭海量文本数据至关重要。**
7 1
|
13天前
|
机器学习/深度学习 监控 算法
Python数据分析与机器学习在金融风控中的应用
Python数据分析与机器学习在金融风控中的应用
39 12
|
11天前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
【7月更文挑战第12天】Python的Pandas和NumPy库助力高效数据处理。Pandas用于数据清洗,如填充缺失值和转换类型;NumPy则擅长数组运算,如元素级加法和矩阵乘法。结合两者,可做复杂数据分析和特征工程,如产品平均销售额计算及销售额标准化。Pandas的时间序列功能,如移动平均计算,进一步增强分析能力。掌握这两者高级技巧,能提升数据分析质量和效率。
23 4
|
11天前
|
机器学习/深度学习 存储 数据可视化
这份Excel+Python飞速搞定数据分析手册,简直可以让Excel飞起来
微软在 UserVoice 上运营着⼀个反馈论坛,每个⼈都可以在这⾥提交新点⼦供他⼈投票。票数最⾼的功能请求是“将 Python 作为Excel 的⼀门脚本语⾔”,其得票数差不多是第⼆名的两倍。尽管⾃2015 年这个点⼦发布以来并没有什么实质性进展,但在 2020 年年末,Python 之⽗ Guido van Rossum 发布推⽂称“退休太无聊了”,他将会加入微软。此事令 Excel ⽤户重燃希望。我不知道他的举动是否影响了 Excel 和 Python 的集成,但我清楚的是,为何⼈们迫切需要结合 Excel 和 Python 的⼒量,⽽你⼜应当如何从今天开始将两者结合起来。总之,这就是本
|
3天前
|
数据采集 数据可视化 数据挖掘
数据分析入门:用Python和Numpy探索音乐流行趋势
数据分析入门:用Python和Numpy探索音乐流行趋势
|
7天前
|
JSON 数据挖掘 API
在会议系统工程中,Python可以用于多种任务,如网络请求(用于视频会议的连接和会议数据的传输)、数据分析(用于分析会议参与者的行为或会议效果)等。
在会议系统工程中,Python可以用于多种任务,如网络请求(用于视频会议的连接和会议数据的传输)、数据分析(用于分析会议参与者的行为或会议效果)等。
|
8天前
|
数据采集 数据挖掘 数据处理
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
【7月更文挑战第14天】Python的Pandas和NumPy库是数据分析的核心工具。Pandas以其高效的数据处理能力,如分组操作和自定义函数应用,简化了数据清洗和转换。NumPy则以其多维数组和广播机制实现快速数值计算。两者协同工作,如在DataFrame与NumPy数组间转换进行预处理,提升了数据分析的效率和精度。掌握这两者的高级功能是提升数据科学技能的关键。**
12 0