【博客地址】:https://blog.csdn.net/sunyaowu315
【博客大纲地址】:https://blog.csdn.net/sunyaowu315/article/details/82905347
需要数据分析、风控评分卡等相关数据、代码,请添加qq群:102755159,或留言联系笔者邮件发送!!!
如果对金融风控、机器学习、数据科学、大数据分析等感兴趣的小伙伴,可加微信交流(邮件中备注,我会附上微信号)

知乎数据清洗整理和结论研究

1、数据清洗 - 去除空值

2、问题1 知友全国地域分布情况,分析出TOP20

3、问题2 知友全国地域分布情况,分析出TOP20

一 导入python包

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
% matplotlib inline

二 数据读取

data1 = pd.read_csv('C:/Users/Hjx/Desktop/知乎数据_201701.csv', engine = 'python')
data2 = pd.read_csv('C:/Users/Hjx/Desktop/六普常住人口数.csv', engine = 'python')
print(data1.head())
print(data2.head())

三 数据清洗

去除空值
文本型字段空值改为“缺失数据”,数字型字段空值改为 0

  • 要求:创建函数
  • 提示:fillna方法填充缺失数据,注意inplace参数
 def data_cleaning(df):cols = df.columnsfor col in cols:if df[col].dtype ==  'object':df[col].fillna('缺失数据', inplace = True)else:df[col].fillna(0, inplace = True)return(df)

该函数可以将任意数据内空值替换

data1_c = data_cleaning(data1)
data1_c.head(10)

四 统计分析

  • 问题1 知友全国地域分布情况,分析出TOP20

    • 要求:
      ① 按照地域统计 知友数量、知友密度(知友数量/城市常住人口),不要求创建函数
      ② 知友数量,知友密度,标准化处理,取值0-100,要求创建函数
      ③ 通过多系列柱状图,做图表可视化
    • 提示:
      ① 标准化计算方法 = (X - Xmin) / (Xmax - Xmin)
      ② 可自行设置图表风格
df_city = data1_c.groupby('居住地').count()  # 按照居住地统计知友数量
data2['city'] = data2['地区'].str[:-1]   # 城市信息清洗,去掉城市等级文字
#print(df_city.head())
#print(data2.head())
q1data = pd.merge(df_city, data2, left_index = True, right_on = 'city', how = 'inner')[['_id','city','常住人口']]
q1data['知友密度'] = q1data['_id']/q1data['常住人口']
#print(q1data.head())
  • 统计计算知友数量,知友密度
def data_nor(df, *cols):colnames = []for col in cols:colname = col + '_nor'df[colname] = (df[col]-df[col].min())/(df[col].max()-df[col].min()) * 100colnames.append(colname)return(df,colnames)
  • 创建函数,结果返回标准化取值,新列列名
result_data = data_nor(q1data,'_id','知友密度')[0]
result_colnames = data_nor(q1data,'_id','知友密度')[1]
q1data_top20_sl = resultdata.sort_values(resultcolnames[0], ascending=False)[['city',resultcolnames[0]]].iloc[:20]
q1data_top20_md = resultdata.sort_values(resultcolnames[1], ascending=False)[['city',resultcolnames[1]]].iloc[:20]
#print(q1data_top20_sl)
  • 标准化取值后得到知友数量,知友密度的TOP20数据
fig1 = plt.figure(num=1,figsize=(12,4))
y1 = q1data_top20_sl[resultcolnames[0]]
plt.bar(range(20),y1,width = 0.8,facecolor = 'yellowgreen',edgecolor = 'k',tick_label = q1data_top20_sl['city'])
plt.title('知友数量TOP20\n')
plt.grid(True, linestyle = "--",color = "gray", linewidth = "0.5", axis = 'y')
for i,j in zip(range(20),y1):plt.text(i+0.1,2,'%.1f' % j, color = 'k',fontsize = 9)fig2 = plt.figure(num=2,figsize=(12,4))
y2 = q1data_top20_sl[resultcolnames[0]]
plt.bar(range(20),y2,width = 0.8,facecolor = 'lightskyblue',edgecolor = 'k',tick_label = q1data_top20_md['city'])
plt.grid(True, linestyle = "--",color = "gray", linewidth = "0.5", axis = 'y')
plt.title('知友密度TOP20\n')
for i,j in zip(range(20),y2):plt.text(i+0.1,2,'%.1f' % j, color = 'k',fontsize = 9)
  • 创建图表

  • 问题2 不同高校知友关注和被关注情况
    • 要求:
      ① 按照学校(教育经历字段) 统计粉丝数(‘关注者’)、关注人数(‘关注’),并筛选出粉丝数TOP20的学校,不要求创建函数
      ② 通过散点图 → 横坐标为关注人数,纵坐标为粉丝数,做图表可视化
      ③ 散点图中,标记出平均关注人数(x参考线),平均粉丝数(y参考线)
    • 提示:
      ① 可自行设置图表风格
q2data = data1_c.groupby('教育经历').sum()[['关注','关注者']].drop(['缺失数据','大学','本科'])
q2data_c = q2data.sort_values('关注',ascending=False)[:20]
#print(q2data_c)
  • 统计计算学校的粉丝数、被关注量
plt.figure(figsize=(10,6))
x = q2data_c['关注']
y = q2data_c['关注者']
follow_mean = q2data_c['关注'].mean()
fans_mean = q2data_c['关注者'].mean()
plt.scatter(x,y,marker='.',s = y/1000,cmap = 'Blues',c = y,alpha = 0.8,label = '学校')
  • 创建 散点图
plt.axvline(follow_mean,hold=None,label="平均关注人数:%i人" % follow_mean,color='r',linestyle="--",alpha=0.8)
  • 添加x轴参考线
plt.axhline(fans_mean,hold=None,label="平均粉丝数:%i人" % fans_mean,color='g',linestyle="--",alpha=0.8)
  • 添加y轴参考线
plt.legend(loc = 'upper left')
plt.grid()
  • 添加显示内容
for i,j,n in zip(x,y,q2data_c.index):plt.text(i+500,j,n, color = 'k')
  • 添加注释

【数据分析】Python :知乎数据清洗整理和结论研究相关推荐

  1. 【数据分析】Python :视频网站数据清洗整理和结论研究

    视频网站数据清洗整理和结论研究 要求: 1.数据清洗 - 去除空值 要求:创建函数 提示:fillna方法填充缺失数据,注意inplace参数 2.数据清洗 - 时间标签转化 要求: ① 将时间字段改 ...

  2. Python 数据分析微专业课程--项目03 视频网站数据清洗整理和结论研究

    1.项目说明 读取爱奇艺网站数据,对数据进行清洗和整理,分析不同导演电影的好评率, 对2001-2016电影影评人数分析,筛选出当年热门电影 2.项目具体要求 数据清洗 - 去除空值;时间标签转化 分 ...

  3. 爱奇艺视频网站数据清洗整理和结论研究

    ''' 1.数据清洗 - 去除空值 ''' import numpy as np import pandas as pd data = pd.read_csv('C:/Users/HP/Desktop ...

  4. python常用命令汇总-python数据分析之pandas常用命令整理

    原标题:python数据分析之pandas常用命令整理 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型 ,提供了高效地 ...

  5. python pandas 分类汇总用法_python数据分析之pandas常用命令整理

    原标题:python数据分析之pandas常用命令整理 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型 ,提供了高效地 ...

  6. 数据分析 python 用途-Python 从爬虫到数据分析

    大家好,我是大鹏,城市数据团联合发起人,致力于Python数据分析.数据可视化的应用与教学. 和很多同学接触过程中,我发现自学Python数据分析的一个难点是资料繁多,过于复杂.大部分网上的资料总是从 ...

  7. 命名管道 win7未响应_大数据分析Python建立分析数据管道

    如果您曾经想通过流数据或快速变化的数据在线学习Python,那么您可能会熟悉数据管道的概念.数据管道允许您通过一系列步骤将数据从一种表示形式转换为另一种表示形式.数据管道是数据工程的关键部分,我们将在 ...

  8. 炼数成金数据分析课程---8、数据清洗

    炼数成金数据分析课程---8.数据清洗 一.总结 一句话总结: 数据分析课程的实质是:介绍库中的函数:介绍py的3个常用的数据分析库(numpy,pandas,scipy)的函数的操作 实例:其实找几 ...

  9. 大数据日知录要点整理

    大数据日知录要点整理 第0 章 当谈论大数据时我们在谈什么 1  NOSQL选型:kv-cassandra.dynamo,列式存储-HBase,图存储-Neo4j 社交网络数据存储适合用图数据库,而实 ...

最新文章

  1. 天津商业大学计算机科学与技术分数线,天津商业大学录取分数线2021是多少分(附历年录取分数线)...
  2. Book REPORT:Subject To Change
  3. 权限提升 T1548.002 绕过UAC
  4. Java中的split函数
  5. 最大团问题-分支界限法
  6. mysql ab复制_实现mysql的ab复制(a-b-b,a-b-c)
  7. 欢迎参加天津PDC Party的活动
  8. 文本文件加密和解密_解密文本见解和相关业务用例
  9. [转贴]Unix-Center.Net需要您的帮助
  10. MFC字符串操作(二)CString.Format的用法
  11. webstorm破解之jar包破解(2018)
  12. HikariCP对各Java版本的支持
  13. 「超级右键」Mac上最强的右键菜单工具,让你效率飞起!
  14. 局域网访问mysql失败_局域网中mysql连接失败
  15. 多线程——分线程通过Handler操作界面
  16. 容器技术在云中如何定位
  17. 研究日记:虚拟歌姬自动调教之歌曲音频切割的问题
  18. 门店私域流量运营怎么做?
  19. 人工智能 2.知识表示
  20. B站弹幕姬,弹幕礼物感谢,关注感谢,自动回复,房管工具,房管助手,基于java

热门文章

  1. Java项目如何改成maven_普通java项目改进为maven:ecplise
  2. 失败的windows系统服务调用readfile():管道已结束?_操作系统之进程详解(一)
  3. Qt中的QColorDialog
  4. 用java和汇编开发一个Hello World系统内核
  5. java split()方法_Java 性能优化的 50 个细节(珍藏版)
  6. 马斯克超级计算机玩吃鸡,在50亿美元打造的计算机上运行《绝地求生大逃杀》会怎样?...
  7. Oracle序列的建立以及使用
  8. Android数据存储之SharedPreferencesSave存储(保存数据,读取数据的操作)
  9. php fsockopen socket,基于php socket(fsockopen)的应用实例分析
  10. python编程基础(二)~python安装设置 和 pip packages安装与使用