繁体   English   中英

两个数据之间的差异计算

[英]Difference calculate between two data

读取输入和 output 文件

Input2 = pd.read_excel('~.xlsx')
input = pd.read_excel('~.xlsx')

检查与输入和 output 文件不同的列

inserted_cols = input2

cols = ([col for col in inserted_cols if col not in input ]
            +  [col for col in inserted_cols if col in input ])

input = input2 [cols]

输入:-

ram     redist  rotril  shyam
asdasd  asdasd  fff     rtrr
adsd    adsd    zzz     fhgfhgf
sadasd  sadasd  bbb     cbcbv
zxcxz   zxcxz   xxx     hjhj
fdfsd   fdfsd   rrr     piio

输入 2:-

ram    shyam    tramp   rotril
asdasd  rtrr    asdasd  rtrr
adsd    fhgfhgf adsd    fhgfhgf
sadasd  cbcbv   sadasd  cbcbv
zxcxz   hjhj    zxcxz   hjhj
fdfsd   piio    fdfsd   piio

Output 我得到:-

ram    shyam    tramp   rotril
asdasd  rtrr    asdasd  rtrr
adsd    fhgfhgf adsd    fhgfhgf
sadasd  cbcbv   sadasd  cbcbv
zxcxz   hjhj    zxcxz   hjhj
fdfsd   piio    fdfsd   piio

预计 Output:-

ram     shyam   tramp   rotril
asdasd  rtrr    NA      fff
adsd    fhgfhgf NA      zzz
sadasd  cbcbv   NA      bbb
zxcxz   hjhj    NA      xxx
fdfsd   piio    NA      rrr

可以帮助我在我的代码中做错什么吗?

这是一个解决方案:

input1.index.name = "inx"
input2.index.name = "inx"

new_cols = list(set(input2.columns) - set(input1.columns))

input1 = input1.join(input2[new_cols])

res = input1[input2.columns]
print(res)

output 是:

        ram    shyam   tramp rotril
inx                                
0    asdasd     rtrr  asdasd    fff
1      adsd  fhgfhgf    adsd    zzz
2    sadasd    cbcbv  sadasd    bbb
3     zxcxz     hjhj   zxcxz    xxx
4     fdfsd     piio   fdfsd    rrr

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM