You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于DataFrame中2004年数据生成2002-2003年湖泊土地利用行

解决方案:补全湖泊土地利用缺失年份数据

以下是基于Pandas的实现步骤,直接复用2004年数据生成2002、2003年的记录:

核心思路

提取2004年的所有湖泊数据,分别复制并修改年份为2002、2003,再与原数据合并,得到每个湖泊2002-2004年的完整数据集。

代码实现

1. 导入依赖并准备数据(已有数据可跳过示例数据部分)

import pandas as pd

# 示例原始数据(替换为你的实际数据)
data = {
    'Lake': ['LakeA', 'LakeB', 'LakeC'],
    'year': [2004, 2004, 2004],
    'urban': [0.12, 0.08, 0.15],
    'agriculture': [0.25, 0.32, 0.21],
    'wetlands': [0.18, 0.15, 0.20],
    'forest': [0.35, 0.30, 0.33],
    'shrub': [0.10, 0.15, 0.11]
}
df = pd.DataFrame(data)

2. 提取2004年数据并生成缺失年份记录

# 提取2004年数据,用copy()避免修改原数据
df_2004 = df[df['year'] == 2004].copy()

# 生成2002年数据:复制2004年数据并修改年份
df_2002 = df_2004.copy()
df_2002['year'] = 2002

# 生成2003年数据:同理复制并修改年份
df_2003 = df_2004.copy()
df_2003['year'] = 2003

3. 合并数据并整理格式

# 合并三年数据
df_complete = pd.concat([df_2002, df_2003, df], ignore_index=True)

# 按湖泊名称和年份排序(可选,让数据更规整)
df_complete = df_complete.sort_values(by=['Lake', 'year']).reset_index(drop=True)

最终效果

处理后的df_complete中每个湖泊都会有2002、2003、2004三年的记录,且各土地利用字段值与2004年完全一致。

内容的提问来源于stack exchange,提问作者Mayra V

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 06:00:18