我必须比较具有相同列的2个数据帧,但行数可能不相等。我的问题是其中一列包含一些输入错误,如“KVA 2048/20-21”、“KVA2048/20”带空格和不带空格,“033”、“33”我编写了一个小函数来解决比较问题,但从pandas到python循环,2000行数据帧比较大约需要5分钟。熊猫有什么希望吗
我的职能:
def inv_no_match(val1, val2):
if val1 != val2:
if type(val1) == type(val2) == str:
val1 = val1.replace(" ", "").replace('\r', "").replace('\n', "")
val2 = val2.replace(" ", "").replace('\r', "").replace('\n', "")
if val1 != val2:
try:
val1 = int(val1)
val2 = int(val2)
except:
pass
if val1 != val2:
return False
else:
return True
else:
return True
else:
return True
else:
return True
假设您有两个数据帧:
印刷品:
然后,您可以先清洁色谱柱:
然后做
.merge()
:印刷品:
注意:例如,如果要在第一个数字上进行合并,请相应地修改
clean_column
函数:相关问题 更多 >
编程相关推荐