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

如何在Python中对已有DataFrame实现增量加载并更新Record_Flag

Pandas实现增量加载并更新Record_Flag标识

实现步骤:

  • 步骤1:更新原有全量数据的Record_Flag
    直接将df1中所有行的Record_Flag从"I"替换为"U":

    df1['Record_Flag'] = 'U'
    
  • 步骤2:处理增量数据
    先对齐增量数据df2的列名(与df1保持一致),再新增Record_Flag列并赋值为"I":

    # 统一列名(匹配df1的列名)
    df2 = df2.rename(columns={'X_Coordinate': 'X_coordinate', 'Y_Coordinate': 'Y-Coordinate'})
    # 添加Record_Flag列
    df2['Record_Flag'] = 'I'
    
  • 步骤3:合并全量与增量数据
    使用pd.concat合并两个DataFrame,重置索引避免重复:

    import pandas as pd
    
    # 合并数据
    df1 = pd.concat([df1, df2], ignore_index=True)
    
  • 步骤4:截断增量数据
    清空df2的所有行:

    # 方式1:重新赋值为空DataFrame
    df2 = df2.iloc[0:0]
    # 方式2:原地清空
    # df2.drop(df2.index, inplace=True)
    

完整代码示例:

假设初始数据已加载为df1和df2,完整执行代码如下:

import pandas as pd

# 模拟初始全量数据df1
data1 = {
    'X_coordinate': [415541.1, 415546.12, 415551.096],
    'Y-Coordinate': [7250068.501, 7250079.97, 7250091.44],
    'Record_Flag': ['I', 'I', 'I']
}
df1 = pd.DataFrame(data1)

# 模拟增量数据df2
data2 = {
    'X_Coordinate': [415557.59, 415562.56, 415567.53],
    'Y_Coordinate': [7250075.006, 7250086.473, 7250097.944]
}
df2 = pd.DataFrame(data2)

# 步骤1:更新df1的Record_Flag为U
df1['Record_Flag'] = 'U'

# 步骤2:处理df2的列名并添加Record_Flag
df2 = df2.rename(columns={'X_Coordinate': 'X_coordinate', 'Y_Coordinate': 'Y-Coordinate'})
df2['Record_Flag'] = 'I'

# 步骤3:合并数据
df1 = pd.concat([df1, df2], ignore_index=True)

# 步骤4:截断df2
df2 = df2.iloc[0:0]

# 查看最终结果
print(df1)

执行后输出的df1即为期望的最终DataFrame。

内容的提问来源于stack exchange,提问作者Soumya Hembram

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 14:55:26