资源简介

一个用python语言实现的大数据课程设计,内容是对微博部分用户进行分析,得到喜好,关注点,人群特征等信息,其中还有自己提出的指数,适合作为大数据作业提交给自己老师,数据和程序一并都在里面,实验报告可以私信我发给你。

资源截图

代码片段和文件信息

# from future import division
import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

from numpy.random import randn

from pandas import Series Dataframe

from datetime import datetime

import xlrd openpyxl

xlsx_file = pd.ExcelFile(‘data/test1.xlsx‘)
All = xlsx_file.parse(‘All‘)

d1 = All.drop(All.columns[:11] axis=1 inplace = False)
All = d1.drop(d1.columns[-1] axis=1 inplace = False)

# print(All.head())
print(len(All))

All[All.duplicated()==True].index[:20]
All.drop_duplicates(inplace=True)
print(len(All))

All[u‘转发数‘][All[u‘转发数‘]==u‘转发‘] = ‘0‘
All[u‘评论数‘][All[u‘评论数‘]==u‘评论‘] = ‘0‘
All[u‘点赞数‘][All[u‘点赞数‘]==u‘赞‘] = ‘0‘
print(All.describe())
print(All.dtypes)

All[u‘转发数‘]=All[u‘转发数‘].astype(‘int64‘)
All[u‘评论数‘] = All[u‘评论数‘].astype(‘int64‘)
All[u‘点赞数‘] = All[u‘点赞数‘].astype(‘int64‘)

All.to_excel(‘All.xlsx‘index=False)
All_pivot= All.pivot_table(values=[u‘转发数‘u‘评论数‘u‘点赞数‘u‘微博内容‘]index=[u‘用户名‘] aggfunc={u‘转发数‘:np.sumu‘评论数‘:np.sumu‘点赞数‘:np.sumu‘微博内容‘:np.size})

All_pivot.rename(columns={u‘微博内容‘:u‘当月总微博数‘}inplace=True)
All_pivot.to_excel(‘All_pivot.xlsx‘)
# 22222222
sf = xlsx_file.parse(‘sf‘)
sfweibo = xlsx_file.parse(‘sfweibo‘)

sf[u‘省份前两字‘] = np.nan
for i in range(len(sf[u‘省份名‘])):
    sf[u‘省份前两字‘][i] = sf[u‘省份名‘][i][:2]
sfweibo[u‘省份前两字‘] = np.nan
for i in range(len(sfweibo[u‘省份名‘])):
    sfweibo[u‘省份前两字‘][i] = sfweibo[u‘省份名‘][i][:2]
print(sf.head())

sf.to_excel(‘sf.xlsx‘index=False)
sfweibo.to_excel(‘sfweibo.xlsx‘index=False)

sf_sfweibo = sf.merge(sfweiboon=u‘省份前两字‘)
sf_sfweibo1 = sf_sfweibo.iloc[:[412]]

sf_sfweibo1.to_excel(‘sf_sfweibo.xlsx‘index=False)

sf_sfweibo = sf_sfweibo1
sf_sfweibo_All_pivot =pd.merge(sf_sfweiboAll_pivotleft_on=u‘微博用户名‘right_on=u‘用户名‘right_index=True)

sf_sfweibo_All_pivot.to_excel(‘sf_sfweibo_All_pivot.xlsx‘index=False)
# 3333333333
base = xlsx_file.parse(‘base_info‘)

sf_sfweibo_All_pivot_base = base.merge(sf_sfweibo_All_pivotleft_on=u‘昵称‘right_on=u‘微博用户名‘)
ssapb = sf_sfweibo_All_pivot_base

ssapb.rename(columns={u‘当月总微博数_x‘:u‘当月总微博数‘}inplace=True)

ssapb = ssapb.drop([u‘昵称‘u‘当月总微博数_y‘]axis=1)

print(ssapb.iloc[0])

ssapb[u‘当月原创数‘] = ssapb[u‘当月总微博数‘]-ssapb[u‘当月转发数‘]

linkfix = “?is_ori=1&is_forward=1&is_text=1&is_pic=1&is_video=1&is_music=1&is_article=1&key_word=&start_time=2017-05-01&end_time=2017-05-31&is_search=1&is_searchadv=1#_0“
ssapb[u‘当月博文网址‘] = ssapb[u‘主页链接‘]+linkfix
allfix = “?profile_ftype=1&is_all=1#_0“
ssapb[u‘全部博文网址‘] = ssapb[u‘主页链接‘]+allfix

ssapb[u‘篇均点赞‘] = ssapb[u‘点赞数‘]/ssapb[u‘当月总微博数‘]
ssapb[u‘篇均转发‘] = ssapb[u‘转发数‘]/ssapb[u‘当月总微博数‘]
ssapb[u‘篇均评论‘] = ssapb[u‘评论数‘]/ssapb[u‘当月总微博数‘]
print(ssapb.iloc[0])
ssapb.to_excel(‘ssapb.xlsx‘index=False)
# 3.2222
gb = All.groupby(u‘用户名‘)
gb1 = gb.size()
gbindex = gb1.index
print(gbindexgb1)

sortAllf = All.sort_values(by=[u‘用户名‘u‘转发数‘]ascending=[TrueFalse])
sortAllc = All.sort_values(by=[u‘用户名‘u‘评论数‘]ascendi

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      49152  2020-06-10 11:03  大数据课设\business_circle.xls

     文件       6236  2020-06-05 15:02  大数据课设\dataAnalysis.py

     文件       2879  2020-06-10 13:39  大数据课设\dataAnalysis2.py

     文件    1306165  2020-06-05 10:16  大数据课设\test1.xlsx

     目录          0  2020-07-26 17:02  大数据课设

----------- ---------  ---------- -----  ----

              1364432                    5


评论

共有 条评论