【发布时间】:2019-09-10 16:23:31
【问题描述】:
我有一列数据如下所示:
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']
如何遍历每一列以将拼写错误的水果更改为正确的水果。 IE。最终的数据框应如下所示:
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 变量吗?
【问题讨论】:
-
你的例子
dictreplacements倒退了吗?您只是在问如何以编程方式构建它? -
我不确定你的第一个问题是什么意思,但我想根据我已经用
apple、banana和pear编码的内容对结果数据框进行编程变量。 -
你的“我可以达到这个结果”的例子在字典中有两次相同的键。您是想避免使用这样的字典,还是只是想from上面单独的
list变量? -
啊,对。我知道我可以使用替换字典将每个错误的拼写分配给正确的水果类型。但这需要很长时间才能输入所有这些。所以我不会避免使用这样的字典,但最好使用上面的
list变量。
标签: python pandas dataframe replace