我有一列看起来像这样的数据:
df = pd.DataFrame({'Ex1':['apple','apple1','Peear','peAr','b$nana','Bananas'],
'Ex2': ['Applet','banan','apples','PAIR','banana','apple'],
'Ex3':['Pears', 'Banaa', 'Apple', 'apple1', 'pear', 'abanana]}); df
然后,我使用三个数组将水果类型的拼写错误识别为规范水果类型:
apple = ['apple1','Applet','apples','Apple']
pear = ['Peear','peAr','PAIR','Pears','p3ar']
banana = ['b$nana','Bananas','banan','Banaa','abanana']
我如何遍历每列以将拼写错误的水果更改为正确的水果。即最终数据帧应如下所示:
Ex1 Ex2 Ex3
0 apple apple pear
1 apple banana banana
2 pear apple apple
3 pear pear apple
4 banana banana pear
5 banana apple banana
我知道可以使用以下代码实现此结果:
replacements = {
"apple":'apple1',
"apple":'Applet',
...}
df['Ex1'].replace(replacements, inplace=True)
但是我有1000多个行的列表,我不想遍历每个替换项,replacements
因为这将花费很多时间。
在一个方式,我可以用我这样做的任何建议apple
,pear
以及banana
变量,是什么?
仅通过从列表中构造字典即可自动实现涉及手写拼写错误列表的简单(也许甚至是简单的)方法:
repl={s:n for n,l in [("apple",apple),("pear",pear),("banana",banana)]
for s in l}
如果它们的正确名称和拼写错误列表位于某个数据结构(例如包含词典)中,则它们本身可以自动构造。(可以使用globals()
或locals()
作为该字典,但随后必须过滤掉无关的条目。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句