【发布时间】:2017-02-01 06:47:55
【问题描述】:
我有一个这样的 CSV 文件
ID OLD_A NEW_A OLD_B NEW_B OLD_C NEW_C
1 0 0 1/1/2017 1/1/2017 ABC BCD
2 0 0 1/1/2017 2/1/2017 ABC ABC
3 1 2 1/1/2017 1/1/2017 ABC BCD
我想比较 A、B 和 C 的旧列和新列,如果 OLD 和 NEW 的值存在差异(有 10k+ 行),我想返回这样的输出(来自上面的示例):
ID Field_Changed OLD_Value NEW_Value
1 C ABC BCD
2 B 1/1/2017 2/1/2017
3 A 1 2
3 C ABC BCD
到目前为止,我使用了 pandas.DataFrame 的 .loc 方法,它返回符合布尔索引条件的行的索引位置,但我也需要这些值...
df.loc[(df['OLD_A'] != df['NEW_A'])].index)
我是 python 脚本的新手,似乎无法弄清楚逻辑。有人可以帮忙吗?
【问题讨论】:
标签: python csv pandas dataframe compare