比较两个表并获取记录的新旧值
创始人
2024-12-13 22:00:17
0

以下是一个使用Python和pandas库来比较两个表并获取记录的新旧值的示例代码:

import pandas as pd

# 创建两个示例表格
df1 = pd.DataFrame({'ID': [1, 2, 3],
                    'Name': ['Alice', 'Bob', 'Charlie'],
                    'Age': [25, 30, 35]})

df2 = pd.DataFrame({'ID': [1, 2, 3],
                    'Name': ['Alice', 'Bob', 'Charlie'],
                    'Age': [26, 30, 35]})

# 将两个表格合并,使用suffixes参数来区分列名
merged = df1.merge(df2, on='ID', how='outer', suffixes=('_old', '_new'))

# 比较每一列的值,记录发生变化的行
changed_rows = []
for column in df1.columns:
    if column != 'ID':
        changed_rows.extend(merged[merged[f'{column}_old'] != merged[f'{column}_new']].index)

# 根据发生变化的行索引,获取新旧值
for index in set(changed_rows):
    print(f"ID: {merged.loc[index]['ID']}")
    for column in df1.columns:
        if column != 'ID':
            old_value = merged.loc[index][f'{column}_old']
            new_value = merged.loc[index][f'{column}_new']
            print(f"{column}: {old_value} -> {new_value}")
    print("\n")

输出结果如下:

ID: 1
Age: 25 -> 26


相关内容

热门资讯

6分钟了解!南宁老友麻将水鱼摆... 6分钟了解!南宁老友麻将水鱼摆牌有挂吗,四人斗地主有猫腻吗,2025新版总结(有挂工具);所有人都在...
7分钟了解!越乡游义乌斗牛怎么... 7分钟了解!越乡游义乌斗牛怎么赢,友娱棋牌有挂吗,AI教程(有挂神器)进入游戏-大厅左侧-新手福利-...
七分钟了解!白金岛打字牌免费的... 七分钟了解!白金岛打字牌免费的吗,决战血流麻将跑得快有挂吗,曝光教程(有挂解密);1)决战血流麻将跑...
四分钟了解!赣南好友斗牛外 挂... 四分钟了解!赣南好友斗牛外 挂,掌中乐游戏中心云南有挂吗,必赢方法(有挂秘籍);1、完成掌中乐游戏中...
3分钟了解!广东潮汕暗宝ios... 3分钟了解!广东潮汕暗宝ios,掌心辅助器,教你攻略(有挂攻略)一、广东潮汕暗宝iosAI软件牌型概...
十分钟了解!八一字牌辅助软件,... 十分钟了解!八一字牌辅助软件,丽水茶苑双扣有外挂吗,解密教程(有挂透视)1、每一步都需要思考,不同水...
4分钟了解!麻友圈2辅助器怎么... 4分钟了解!麻友圈2辅助器怎么安装,牵手跑胡子辅助工具,AI教程(有挂透视);1、该软件可以轻松地帮...
两分钟了解!兴动游戏辅助器下载... 两分钟了解!兴动游戏辅助器下载,潘潘讲故事有没有挂,线上教程(有挂秘笈);兴动游戏辅助器下载辅助器中...
4分钟了解!闽游麻将十三水怎么... 4分钟了解!闽游麻将十三水怎么提升胜率,科乐麻将摸宝神器,介绍教程(有挂介绍)所有人都在同一条线上,...
两分钟了解!老胡麻将赢牌技巧,... 两分钟了解!老胡麻将赢牌技巧,众乐联盟有挂吗,德州教程(有挂总结);该软件可以轻松地帮助玩家将老胡麻...