美文网首页
练习4:知乎数据整理和清理研究

练习4:知乎数据整理和清理研究

作者: Ryan96 | 来源:发表于2020-01-16 13:01 被阅读0次

一、读取清洗数据

#清洗数据
df = rfb.data_cleaning(df)
df.head()

#拼接
dfjzd = df.groupby('居住地').count()
dfcity['city'] = dfcity['地区'].str[:-1]
data1 = pd.merge(dfjzd,dfcity,left_index=True,right_on=['city'],how='inner')[['_id','city','常住人口']]
data1['知友密度'] = data1['_id'] / data1['常住人口']
data1 = data1.sort_values('_id',ascending=False)

rdf = rfb.dmaxmin(data1,'_id','知友密度')[0]
rdfcol = rfb.dmaxmin(data1,'_id','知友密度')[1]

datatop20_jd = rdf.sort_values(rdfcol[0],ascending=False)[['city',rdfcol[0]]][:20]
datatop20_xd = rdf.sort_values(rdfcol[1],ascending=False)[['city',rdfcol[1]]][:20]

print(datatop20_jd.head(),datatop20_xd.head())

二、地域分布分析

#1.画图
plt.style.use('ggplot')
fig = plt.figure(num=1,figsize=(12,8))
ax1 = fig.add_subplot(211)
ax1.bar(range(20),datatop20_jd['_id_nor'],tick_label = datatop20_jd['city'])
plt.title('知友top20')
for i,j in zip(range(20),datatop20_jd['_id_nor']):
    plt.text(i+0.2,1,'%.f'% j)


ax2 = fig.add_subplot(212)
ax2.bar(range(20),datatop20_xd['知友密度_nor'],tick_label=datatop20_xd['city'])
plt.title('知友城市密度top20')
for i,j in zip(range(20),datatop20_xd['知友密度_nor']):
    plt.text(i+0.2,1,'%.f'% j)
image.png

各学校关注与被关注情况

#知友关注与被关注情况

fig2 = plt.figure(num=1,figsize=(12,8))
dfgz = df.groupby('教育经历')[['关注','关注者']].sum().drop(['缺失数据','本科','大学'])
dfgz = dfgz.sort_values('关注',ascending=False)
x = dfgz['关注'][:20]
y = dfgz['关注者'][:20]

xm = x.mean()
ym = y.mean()

plt.axvline(xm,label='平均关注人数:%i'%xm,linestyle='-.',alpha=0.5,color='r')
plt.axhline(ym,label='平均粉丝人数:%i'%ym,linestyle='-.',alpha=0.5)
plt.title('知友关注与被关注情况')
plt.scatter(x,y,marker='o',s = y/1000,cmap='winter',c=x,label='学校')

plt.legend(loc='upper left')

for i,j,n in zip(x,y,x.index):
    plt.text(i+500,j,n,fontsize=9)

image.png

相关文章

网友评论

      本文标题:练习4:知乎数据整理和清理研究

      本文链接:https://www.haomeiwen.com/subject/ksrbactx.html