我的输入数据集存在拼写错误,并且不知道如何将它们交换回来。假设数据看起来像这样
A B C D E F
Yes 0 School 1 0.5 0.3
1 No 1 Office 0.2 3.4
No 1 University 1 4.7 4.2
Yes 3 House 0 4.6 2.3
0 Yes 0 House 4.5 3.1
例如,错字没有规则,但通常发生在彼此相邻的2列中,另一些保持为真,而其他为错字。在这种情况下我该如何规范我的数据?谢谢您的任何建议。
答案 0 :(得分:0)
您可能首先要检查为什么数据首先以这种格式到达。这是一个可能的解决方案,因为混合总是出现在字符串和数字之间(如果不是,可能会更复杂)
df["AB"] = df["A"] + "_" + df["B"]
df["A_"] = df["AB"].apply(lambda x: re.findall(r"\d+", x)[0])
df["B_"] = df["AB"].apply(lambda x: re.findall(r"[a-zA-Z]+", x)[0])
但是,您将需要删除原始列并重命名新列。希望这会有所帮助。