1.项目说明
读取知乎数据,并对数据进行清洗,筛选计算知友的全国分布情况,和学校的分布情况,并做图表可视化
2.项目具体要求
- 数据清洗 - 去除空值
- 问题1 知友全国地域分布情况,分析出TOP20
要求:
① 按照地域统计 知友数量、知友密度(知友数量/城市常住人口),不要求创建函数
② 知友数量,知友密度,标准化处理,取值0-100,要求创建函数
③ 通过多系列柱状图,做图表可视化 - 问题2 知友全国地域分布情况,分析出TOP20
要求:
① 按照学校(教育经历字段) 统计粉丝数(‘关注者’)、关注人数(‘关注’),并筛不要求创建函数
② 通过散点图 → 横坐标为关注人数,纵坐标为粉丝数,做图表可视化选出粉丝数TOP20的学校,
③ 散点图中,标记出平均关注人数(x参考线),平均粉丝数(y参考线)
3.实现思路:
- 通过查看数据,问题数据主要有两种:a.空值,b.无效数据。对于空值object类型字段可以填充为’缺失数据’,数值型字段填充为’0’,无效数据可以在后面的数据处理中筛选出来。
- 通过知友数量和密度两个指标来分析知友的全国地域分布情况,可以筛选出’居住地’字段进行数值统计,
连接省市常住人口数据,然后计算知友密度,进行标准化之后排序,然后绘制TOP20柱状图。 知友的’粉丝数’和’关注人数’数据决定该用户的在知乎的活跃程度,结合其教育经历,通过统计可以获得知乎在各个
高校的使用热度,因此要筛选出’关注者’,’关注’,’教育经历’三个字段进行数据筛选和统计,对TOP20绘制散点图,
用散点大小表示热度。4.实现过程:
import numpy as np
import pandas as pd
import os
import matplotlib.pyplot as plt
os.chdir('C:\\test')
zh_data = pd.read_csv('知乎数据_201701.csv',engine = 'python')
city_rk = pd.read_csv('六普常住人口数.csv',engine = 'python')
def data_clean(df):
cols = df.columns
for col in cols:
if df[col].dtype =='object':
df[col].fillna(value = '缺失数据',inplace = True )
else:
df[col].fillna(0,inplace = True)