【第2章Pandas实战案例与解析 Pandas读取数据】2.37 根据列名读取文本文件的部分数据

在这里插入图片描述

2.37 根据列名读取文本文件的部分数据

2.37 从文本文件中按列名读取数据:全面解析与实战示例
我能否不用UTF-8 编码 格式,优化以下代码:import geopandas as gpd import matplotlib.pyplot as plt import pandas as pd import numpy as np from matplotlib.colors import LinearSegmentedColormap from matplotlib.patches import Patch from mpl_toolkits.axes_grid1 import make_axes_locatable # ===================== 配置参数 ===================== CONFIG = { # 数据配置 "map_paths": { "province": "C:/Users/25636/Desktop/zongheng/地图数据/省级.shp", "river": "C:/Users/25636/Desktop/zongheng/地图数据/黄河_region.shp" }, "data": { "省份": ['山西', '内蒙古', '山东', '河南', '四川', '陕西', '甘肃', '青海', '宁夏'], "2007年": [2.02, 2.11, 2.37, 2.16, 2.15, 2.07, 1.87, 1.92, 1.66], "2014年": [2.41, 2.60, 2.59, 2.45, 2.39, 2.50, 2.28, 2.21, 2.28], "2022年": [2.50, 2.63, 2.53, 2.53, 2.50, 2.49, 2.52, 2.41, 2.46] }, # 可视化参数 "colors": { "river": "#2171B5", "base_map": "#F5F5F5", "missing": "#D9D9D9", "cmap": LinearSegmentedColormap.from_list("custom_green", ['#e5f5e0', '#31a354']) }, "plot": { "dpi": 300, "figsize": (24, 8), "projection": "epsg:4610" # 使用中国标准地理坐标系 } } # ===================== 数据加载预处理 ===================== def load_geodata(): """加载并处理地理数据""" # 加载省级数据 province_gdf = gpd.read_file(CONFIG["map_paths"]["province"], encoding='utf-8') province_gdf = province_gdf.to_crs(CONFIG["plot"]["projection"]) # 加载黄河数据 river_gdf = gpd.read_file(CONFIG["map_paths"]["river"], encoding='utf-8') river_gdf = river_gdf.to_crs(CONFIG["plot"]["projection"]) # 创建数据框 df = pd.DataFrame(CONFIG["data"]) df["省份"] = df["省份"] + "省" # 统一为"XX省"格式 # 合并地理数据 merged = province_gdf.merge( df, left_on="省", right_on="省份", how="left" ) return merged, river_gdf # ===================== 可视化函数 ===================== def create_map_axis(): """创建地图画布""" fig, axes = plt.subplots( 1, 3, figsize=CONFIG["pl
最新发布
03-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

精通代码大仙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值