擅长:python、mysql、java
<p>您可以将这两个值转换为小写:</p>
<pre><code>SequenceMatcher(None, s.lower(), i.lower()).ratio()
</code></pre>
<p>类似的解决方案:</p>
<pre><code>from difflib import SequenceMatcher
lst = ['Assam','Andhra Pradesh', 'Mizoram', 'Uttar Pradesh'] #Correct Name List
arr = np.array(lst)
#convert list to lowercase
lower = [x.lower() for x in lst]
def closest(s):
#get index of maximal ratio
idx = np.argmax([SequenceMatcher(None, s.lower(), i).ratio() for i in lower])
#return value from list lst
return arr[idx]
df = pd.DataFrame(['Assan','Andhra Prade5h','MIZORAM','Uttar Pr8desh'],
columns = ["state_name"])
df['state_name'] = df['state_name'].apply(closest)
print (df)
state_name
0 Assam
1 Andhra Pradesh
2 Mizoram
3 Uttar Pradesh
</code></pre>