• python实用小代码(数据分析向)


    一、python实现31省市名称替换

            首先定义了一个字典province_dict,其中包含每个省市的无缩写名称与其标准名称之间的映射。然后,我们使用map()函数将每个省市名称从无缩写名称转换为标准名称,并将结果存储在新列省市标准名称中。

    1. province_dict = {'北京': '北京市', '天津': '天津市', '河北': '河北省', '山西': '山西省', '内蒙古': '内蒙古自治区',
    2. '辽宁': '辽宁省', '吉林': '吉林省', '黑龙江': '黑龙江省', '上海': '上海市', '江苏': '江苏省',
    3. '浙江': '浙江省', '安徽': '安徽省', '福建': '福建省', '江西': '江西省', '山东': '山东省',
    4. '河南': '河南省', '湖北': '湖北省', '湖南': '湖南省', '广东': '广东省', '广西': '广西壮族自治区',
    5. '海南': '海南省', '重庆': '重庆市', '四川': '四川省', '贵州': '贵州省', '云南': '云南省',
    6. '西藏': '西藏自治区', '陕西': '陕西省', '甘肃': '甘肃省', '青海': '青海省', '宁夏': '宁夏回族自治区',
    7. '新疆': '新疆维吾尔自治区'}
    8. # 将省市名称映射到标准名称
    9. df['省市标准名称'] = df['省市名称'].map(province_dict)
    10. # 输出结果
    11. print(df)

    二、将数据框转化为面板数据

    1. import pandas as pd
    2. # 假设原始数据框名为df,其中省份列为'Province',年份列标签为2014-2022
    3. # 其他列为对应的企业数据
    4. # 使用melt函数转换为面板数据
    5. panel_data = pd.melt(df, id_vars=['Province'], var_name='Year', value_name='Data')
    6. # 输出转换后的面板数据
    7. print(panel_data)

    三、将数据进行分类的(以区域划分为列子)

    1. # 按照地区进行分类
    2. def get_region_category(x):
    3. if x in ['北京', '天津', '河北', '山西', '内蒙古']:
    4. return "华北"
    5. elif x in ['上海', '江苏', '浙江', '安徽', '福建', '江西', '山东']:
    6. return "华东"
    7. elif x in ['辽宁', '吉林', '黑龙江']:
    8. return "东北"
    9. elif x in ['广东', '广西', '海南']:
    10. return "华南"
    11. elif x in ['湖北', '湖南', '河南']:
    12. return "华中"
    13. elif x in ['四川', '贵州', '云南', '重庆', '西藏']:
    14. return "西南"
    15. elif x in ['陕西', '甘肃', '青海', '宁夏', '新疆']:
    16. return "西北"
    17. else:
    18. return "其他"
    19. print('请检查')
    20. data['地区'] = data['省市名'].apply(get_region_category)

    四、绘图调整图例,并设置表格的图线

    1. # 添加图例,图例放在图像下方的中间位置,分两行显示,并调整图例字体大小。
    2. plt.subplots_adjust(bottom=0.2)
    3. legend1 = ax1.legend(loc='lower center', bbox_to_anchor=(0.5, -0.25), ncol=3, frameon=False)
    4. plt.setp(legend1.get_texts(), fontsize='12')
    5. # 添加第二个图例
    6. legend2 = ax2.legend(loc='lower center', bbox_to_anchor=(0.5, -0.26), ncol=4, frameon=False)
    7. plt.setp(legend2.get_texts(), fontsize='12')
    8. #设置图线
    9. ax1.spines['top'].set_visible(False)
    10. ax2.spines['top'].set_visible(False)
    11. ax1.spines['right'].set_visible(False)
    12. ax2.spines['right'].set_visible(False)

  • 相关阅读:
    Purple-Pi-OH OHOS SDK编译手册
    git删除commit的历史大文件记录
    【操作系统】文件管理(二)—— 文件的逻辑结构
    从GitHub火到了CSDN,共计1658页的《Java岗面试核心MCA版》,拿走不谢
    Linux创建删除用户,创建删除组,设置目录所有权,设置目录wre权限
    JavaScript While循环
    3 Java NIO--Channel
    【PowerQuery】在Excel中手动刷新数据连接
    高中数学:平面向量-常考题型汇总
    mongodb
  • 原文地址:https://blog.csdn.net/weixin_63253486/article/details/133487734