气ython风雨 发表于 2024-4-16 12:37:48

pandas之如何制作全国各地xxx系列


前言
微博刷到一张营销号瞎整的全国各地压岁钱分布图
定睛一看广东省竟然高达五十元,这当然是假的啦
我们都是五块十块,你直接给翻了数量级
吓得笔者赶紧拿起键盘写一个pandas简易教程

随机的数据生成
In :
import pandas as pd
import numpy as np

# 创建一个示例的DataFrame
data = {'A': ,
      'B': }
df = pd.DataFrame(data)

# 生成随机数列
random_nums = np.random.rand(len(df))

# 将随机数列添加为新的列
df['Random'] = random_nums

# 打印结果
print(df)
   A   B    Random
01   60.679361
12   70.475995
23   80.729500
34   90.972659
45100.523726

实际应用
In :
## 读取随机生成的压岁钱数据
import pandas as pd
import geopandas as gpd

# 读取shp文件
shp = gpd.read_file('/home/mw/input/china1656/china_map/china_map/China_Province_2022.shp')
random_nums = 100*np.random.rand(len(shp))
# 将随机数列添加为新的列
shp['Random'] = random_nums
shp

Out::







修改某行某列随机值
In :
shp.loc == '广东省', 'Random'] = 10
geopandas版绘图
In :
import matplotlib.pyplot as plt

# 画布设置
plt.figure(figsize=(20, 12))

# 绘制各省份的随机值分布图
shp.plot(column='Random', cmap='OrRd', linewidth=0.8, edgecolor='0.8', legend=True)

# 在每个地方标上数值
for idx, row in shp.iterrows():
    plt.text(row.geometry.centroid.x, row.geometry.centroid.y, round(row['Random'], 2), ha='center', fontsize=8)

# 设置标题
plt.title('中国各省份随机值分布图', fontweight='bold', fontsize=15)

# 显示图片
plt.show()

<Figure size 1440x864 with 0 Axes>


cartopy版绘图
In :import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.feature as cfeature

# 创建地图投影
fig = plt.figure(figsize=(20, 12))
ax = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree())

# 绘制各省份的边界和随机值填充色
for idx, row in shp.iterrows():
    ax.add_geometries(], ccrs.PlateCarree(), facecolor=plt.cm.OrRd(row['Random']/100), edgecolor='black', linewidth=0.8)

# 在每个地方标上数值
for idx, row in shp.iterrows():
    ax.text(row.geometry.centroid.x, row.geometry.centroid.y, round(row['Random'], 2), fontsize=8, ha='center', transform=ccrs.PlateCarree())

# 添加海岸线、国家边界等地图要素
ax.add_feature(cfeature.COASTLINE)

# 设置地图范围
ax.set_extent()

# 设置标题
plt.title('中国各省份随机值分布图', fontweight='bold', fontsize=15)
# 显示地图
plt.show()


虽说是临时之作,但数据生成,修改数值,数据绘图都包揽了
geopandas也是pandas

点击链接可在线运行程序


文章来源于公众号:气ython风雨

李长树 发表于 2024-4-27 12:48:28

666
页: [1]
查看完整版本: pandas之如何制作全国各地xxx系列