当前位置: 首页 > news >正文

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

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

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

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

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

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

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

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

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

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

http://www.lryc.cn/news/182277.html

相关文章:

  • 【oncmdmsg 鼠标】2023/8/19 上午9:50:14
  • 插入排序:简单而有效的排序方法
  • OpenGL之光照贴图
  • 隐私交易成新刚需,Unijoin 凭什么优势杀出重围?
  • 小谈设计模式(12)—迪米特法则
  • Foxit PDF
  • 《Python趣味工具》——ppt的操作(刷题版)
  • 实战型开发--3/3,clean code
  • 家用无线路由器如何用网线桥接解决有些房间无线信号覆盖不好的问题(低成本)
  • 【Golang】网络编程
  • 使用策略模式优化多重if/else
  • 逆强化学习
  • postgresql新特性之Merge
  • 【注解】注解解析与应用场景
  • mysql面试题14:讲一讲MySQL中什么是全同步复制?底层实现?
  • Linux驱动设备号分配与自动创建设备节点
  • 基于MFC和OpenCV实现人脸识别
  • 力扣 -- 377. 组合总和 Ⅳ
  • 阿里云新账户什么意思?老用户、产品首购详细说明
  • C++ YAML使用
  • 十二、Django之模板的继承+用户列表
  • wzsc_文件上传(条件竞争)
  • unplugin-vue-components和unplugin-auto-import插件
  • docker系列文章目录
  • 第80步 时间序列建模实战:GRNN回归建模
  • 《C和指针》笔记33:指针数组
  • C/C++字符函数和字符串函数详解————内存函数详解与模拟
  • CAcUiDockControlBar初始位置 2023/8/19 下午3:51:18
  • CDH6.3.2 的pyspark读取excel表格数据写入hive中的问题汇总
  • 2120 -- 预警系统题解