import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdata = pd.read_csv('D:\\myfiles\\study\\python\\analyse\\数据团\\城市数据团_数据分析师_体验课_课程资料\\数据资料\\地市级党委书记数据库(2000-10).csv', encoding='gbk')# 这里研究一下出生年份和任期的关系data_term = data[['年份','党委书记姓名','出生年份']]data_term_re = data_term[data_term['出生年份'].notnull()]# 新建变量data_term,赋值包括年份、姓名、出生年份字段内容# 清除缺失值year_max = data_term_re[['出生年份','年份']].groupby(data_term_re['党委书记姓名']).max()year_max.rename(columns={'年份':'年份max'}, inplace = True)year_max['姓名'] = year_max.index# 统计每个党委书记任期年份最大值,且更改列明# 将index提取出字段内容year_min = data_term_re[['出生年份','年份']].groupby(data_term_re['党委书记姓名']).min()year_min.rename(columns={'年份':'年份min'}, inplace = True)year_min['姓名'] = year_min.index# 统计每个党委书记任期年份最小值,且更改列明# 将index提取出字段内容data_term_fin = pd.merge(year_max,year_min)# 合并表格,默认重叠重复列明# .dtypes查看字段类型 → 年份均为intdata_term_fin['任期'] = data_term_fin['年份max'] - data_term_fin['年份min']# 计算任期# 绘制图表1:任期与出生年份关系fig_q3_1 = plt.figure(figsize=(8, 4))# 创建一个图表,大小为8*4plt.scatter(data_term_fin['出生年份'], data_term_fin['任期'], color='black', alpha=0.2, s=10)plt.title('任期与出生年份关系')plt.xlabel('出身年份')plt.ylabel('任期(年)')plt.grid(True)plt.show()
import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdata = pd.read_csv('D:\\myfiles\\study\\python\\analyse\\数据团\\城市数据团_数据分析师_体验课_课程资料\\数据资料\\地市级党委书记数据库(2000-10).csv', encoding='gbk')# 这里研究一下出生年份和任期的关系data_term = data[['年份','党委书记姓名','出生年份']]data_term_re = data_term[data_term['出生年份'].notnull()]# 新建变量data_term,赋值包括年份、姓名、出生年份字段内容# 清除缺失值year_max = data_term_re[['出生年份','年份']].groupby(data_term_re['党委书记姓名']).max()year_max.rename(columns={'年份':'年份max'}, inplace = True)year_max['姓名'] = year_max.index# 统计每个党委书记任期年份最大值,且更改列明# 将index提取出字段内容year_min = data_term_re[['出生年份','年份']].groupby(data_term_re['党委书记姓名']).min()year_min.rename(columns={'年份':'年份min'}, inplace = True)year_min['姓名'] = year_min.index# 统计每个党委书记任期年份最小值,且更改列明# 将index提取出字段内容data_term_fin = pd.merge(year_max,year_min)# 合并表格,默认重叠重复列明# .dtypes查看字段类型 → 年份均为intdata_term_fin['任期'] = data_term_fin['年份max'] - data_term_fin['年份min']# 计算任期# 绘制图表2:任期与出生年份关系 - 热图fig_q3_2 = plt.figure(figsize = (8,4))# 创建一个图表,大小为8*4df = pd.crosstab(data_term_fin['任期'], data_term_fin['出生年份'])# 整合数据ax = fig_q3_2.add_subplot(111)cax = ax.pcolor(df, cmap='Blues')# cax = ax.matshow(df, cmap='Blues_r')fig_q3_2.colorbar(cax)plt.title('任期与出生年份关系 - 热图\n')ax.set_xticklabels(data_term_fin['出生年份'].tolist())plt.show()# 创建热图,横坐标为出生年份,纵坐标为任期,