代码在jupyterNotebook中运行成功,过程中需要的包,已经安装完毕,每一代码格代表一个单元的代码,如需Pycharm运行,适当修改代码
# 导入数据
import pandas as pd
WXdata=pd.read_excel('C:\\Users\\qingfeng\\Desktop\\PyDm_data.xlsx',sheet_name='WXdata') # 读取PyDm_data.xlsx文件下的WXdata表
university=pd.read_excel('C:\\Users\\qingfeng\\Desktop\\PyDm_data.xlsx','university'); # 教育部官网提供了中国全部高等院校校名信息,此处读取PyDm_data.xlsx文件下的university表
fund=pd.read_excel('C:\\Users\\qingfeng\\Desktop\\PyDm_data.xlsx','fund'); # 将从中国知网获取的基金名称信息整理成列表
# fund.基金名称.head() # 显示该表下名为基金名称这一列的数据,默认前5行,主要用来检测数据是否正确读入
# 定义函数,该函数主要用来分解信息,content为待处理内容,separator为拆分节点
def list_split(content,separator): #分解信息函数
new_list=[]
for i in range(len(content)):
new_list.append(list(filter(None,content[i].split(separator)))) # 此处采用了Python内置对象filter过滤器,对,后的数据实施,前的执行操作
return new_list
# 将WXdata['Organ']中的信息,采用分号separator,将信息分解开,以此获得学校信息名称,最后得出排名前10的学校名称
organ= list_split(WXdata['Organ'],';')
# 获得学校信息名称之后,统计学校计量
data1=pd.DataFrame([[i,search_university(organ,i)] for i in university['学校名称']])
data1.rename(columns={
0:'学校名称',1:'频数'},inplace=True)
data1.sort_values(by='频数',ascending = False)[:10]
# 同样上述方法,获取基金的计量信息,返回排名前10的基金
jijin=list_split(WXdata['Fund'].dropna(axis=0,how=