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数据分析的基本流程。

  • 数据导入
  • 数据预处理
  • 数据整合
  • 数据可视化
相关文章
|
11天前
|
机器学习/深度学习 数据可视化 数据挖掘
Python跳水:探索数据分析的深渊
Python跳水:探索数据分析的深渊
18 0
|
6天前
|
机器学习/深度学习 数据采集 算法
Python用逻辑回归、决策树、SVM、XGBoost 算法机器学习预测用户信贷行为数据分析报告
Python用逻辑回归、决策树、SVM、XGBoost 算法机器学习预测用户信贷行为数据分析报告
18 1
|
4天前
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习专栏】金融数据分析中的机器学习应用
【4月更文挑战第30天】本文探讨了机器学习在金融数据分析中的应用,如股价预测、信用评分、欺诈检测、算法交易和风险管理,并以Python为例展示了如何进行股价预测。通过使用机器学习模型,金融机构能更准确地评估风险、识别欺诈行为并优化交易策略。Python结合scikit-learn库简化了数据分析过程,助力金融从业者提高决策效率。随着技术发展,机器学习在金融领域的影响力将持续增强。
|
5天前
|
数据采集 SQL 数据挖掘
Python数据分析中的Pandas库应用指南
在数据科学和分析领域,Python语言已经成为了一种非常流行的工具。本文将介绍Python中的Pandas库,该库提供了强大的数据结构和数据分析工具,使得数据处理变得更加简单高效。通过详细的示例和应用指南,读者将了解到如何使用Pandas库进行数据加载、清洗、转换和分析,从而提升数据处理的效率和准确性。
|
5天前
|
机器学习/深度学习 数据采集 数据可视化
Python在数据分析领域的应用研究
Python在数据分析领域的应用研究
12 0
|
8天前
|
机器学习/深度学习 数据可视化 数据挖掘
PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络、KMEANS聚类、地理可视化
PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络、KMEANS聚类、地理可视化
13 0
|
10天前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
【4月更文挑战第25天】R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
|
15天前
|
数据挖掘 数据处理 索引
Python数据分析面试:NumPy基础与应用
【4月更文挑战第16天】了解并熟练运用NumPy是衡量Python数据分析能力的关键。本文探讨了面试中常遇到的NumPy问题,包括数组创建、属性、索引切片、数组运算、统计函数以及重塑和拼接,并提供了相关代码示例。同时强调了易错点,如混淆Python列表与NumPy数组、误解广播规则等,提醒在数据处理中注意性能和内存效率。掌握这些知识点将有助于提升数据分析面试表现和技能。
29 5
|
16天前
|
机器学习/深度学习 数据可视化 数据挖掘
python数据分析工具StatsModels
【4月更文挑战第15天】`StatsModels`是Python的统计库,基于NumPy和SciPy,提供线性模型、广义线性模型、稳健回归、时间序列分析等多样功能。支持离散选择模型、方差分析和非参数统计,还包含图形和可视化工具。安装`StatsModels`可使用`pip install statsmodels`。示例展示了如何进行普通最小二乘回归并绘制回归线。该库适用于数据分析和预测建模。
18 1
|
16天前
|
机器学习/深度学习 数据挖掘 计算机视觉
python数据分析工具SciPy
【4月更文挑战第15天】SciPy是Python的开源库,用于数学、科学和工程计算,基于NumPy扩展了优化、线性代数、积分、插值、特殊函数、信号处理、图像处理和常微分方程求解等功能。它包含优化、线性代数、积分、信号和图像处理等多个模块。通过SciPy,可以方便地执行各种科学计算任务。例如,计算高斯分布的PDF,需要结合NumPy使用。要安装SciPy,可以使用`pip install scipy`命令。这个库极大地丰富了Python在科学计算领域的应用。
13 1