现有一组2019年全国GDP百强城市名单,包含序号,省区,城市,GDP(亿元)四个字段,需要找出各省份GDP最大最小值及其对应的所在城市。
我的代码编写是这样的:
import pandas as pd
import numpy as np
GDP_Data_2019=pd.read_excel('D:python学习网易微专业数据分析课程python数据分析基础2019年GDP排名100强城市.xlsx')
GDP_Data_2019['城市(最大值)']=GDP_Data_2019['城市(最小值)']=GDP_Data_2019['城市'] #在GDP_Data_2019数据表中新增两列,存放各省GDP最高和最低的城市名称
GDP_Data_2019['GDP最大值']=GDP_Data_2019['GDP最小值']=GDP_Data_2019['GDP(亿元)'] #在GDP_Data_2019数据表中新增两列,存放各省GDP最大值和最小值
result=pd.pivot_table(GDP_Data_2019,index=['省区'],values=['GDP最大值','城市(最大值)','GDP最小值','城市(最小值)'],aggfunc={'GDP最大值':np.max,'城市(最大值)':lambda x:x.values[0],'GDP最小值':np.min,'城市(最小值)':lambda x:x.values[-1]})
#对GDP_Data_2019数据表进行数据透视分析,索引(分组)为各个省份(对应‘省区’字段),需要进行最大最小值以及对应的城市作为values值输出,统计函数使用max,min函数
# 对应的城市使用lambda函数,因为数据表已经按照GDP高低排序,各个省份排在首位的城市自然就是这个省份GDP最高的城市,各个省份排在末位的自然就是这个省份GDP(100强范围内)最低的城市
print(result)
输出结果如下,如有不妥之处,欢迎批评指正。