Pandas+Pyecharts:2021中国大学综合排名分析+可视化,来围观看看你的大学上榜没
大家好,我是辣条,又是爆肝的一天。
今天做的是可描述性分析,第一个先准备咱们的数据集,那么像这个数据集的话,我也是采集了我们2021年中国大学综合排名数据,用来做我们的大学的排名的分析和分布情况的分析。它里面是有包含了像咱们大学的排名、学校的名称、学校的省份、学校的类型,以及总分、办学层次、学科水平等等。
Anaconda
Python3.7
pycharm
Anaconda完美的集合了像咱们的一些算法库,以及像我们的做数据可视化数据分析,这些都比较完美,像描述性分析和预测性分析,还有像判断分析决策性分析都可以来做的一个工具。
import pandas as pd # 数据处理
# import numpy as np # 科学运算
from pyecharts.charts import * # 可视化图表
from pyecharts import options as opts
df = pd.read_csv('./中国大学综合排名2021.csv', encoding='gb2312')
df.describe()
df.isnull().sum()
df.fillna(0, inplace=True)
df.isnull().sum()
df[df['升/降'] == 0]
# 统计前50名中排名下降的学校
df.loc[(df['排名'] < 50) & (df['升/降'] < 0), :]
# 数据分组 各省大学数量
g = df.groupby('省市')
df_counts = g.count()['排名']
df0 = df_counts.copy()
df0.sort_values(ascending=False, inplace=True)
df_mean0 = g.mean()['总分']
df_means = df_mean0.round(2)
df1 = pd.concat([df_counts, df_means], join='outer', axis=1)
df1.columns = ['数量', '平均分']
df1.sort_values(by=['平均分'], ascending=False, inplace=True)
d1 = df1.index.tolist()
d2 = df1['数量'].values.tolist()
d3 = df1['平均分'].values.tolist()
bar0 = (
Bar()
.add_xaxis(d1)
.add_yaxis('数量', d2)
.add_yaxis('平均分', d3)
.reversal_axis()
.set_series_opts(label_opts=opts.LabelOpts(position='right'))
)
bar0.render_notebook()
name = df_counts.index.tolist()
count = df_counts.values.tolist()
c0 = (
Pie()
.add('', [list(z) for z in zip(name, count)],
radius=['20%', '60%'],
center=['50%', '65%'],
rosetype='radius'