<p>另一种解决方案,与前一种类似,但是在一个字典中有“to_replace”列表,因此您可以添加更多要替换的项。另外,前面的解决方案不会给出前10个。你知道吗</p>
<pre><code>data = ["West Georgia Co",
"W.B. Carell Clockmakers",
"Spine & Orthopedic LLC",
"LRHS Saint Jose's Grocery",
"Optitech@NYCityScape","Optitech@NYCityScape","Optitech@NYCityScape","Optitech@NYCityScape","Optitech@NYCityScape","Optitech@NYCityScape","Optitech@NYCityScape","Optitech@NYCityScape","Optitech@NYCityScape"]
df = pd.DataFrame(data, columns = ['co_name'])
to_replace = {'[^A-Za-z0-9-]+':'','Saint':'st'}
for i in to_replace :
df['co_name'] = df['co_name'].str.replace(i,to_replace[i]).str.lower()
df['co_name'][0:10]
</code></pre>
<p>结果:</p>
<pre><code>0 westgeorgiaco
1 wbcarellclockmakers
2 spineorthopedicllc
3 lrhssaintjosesgrocery
4 optitechnycityscape
5 optitechnycityscape
6 optitechnycityscape
7 optitechnycityscape
8 optitechnycityscape
9 optitechnycityscape
Name: co_name, dtype: object
</code></pre>
<p>上一个解决方案(不显示前10个)</p>
<pre><code>df['co_name_transform'] = df['co_name'].str.replace('[^A-Za-z0-9-]+', '').str.replace('Saint', 'st').str.lower().str[0:10]
</code></pre>
<p>结果:</p>
<pre><code>0 westgeorgi
1 wbcarellcl
2 spineortho
3 lrhssaintj
4 optitechny
5 optitechny
6 optitechny
7 optitechny
8 optitechny
9 optitechny
10 optitechny
11 optitechny
12 optitechny
Name: co_name_transform, dtype: object
</code></pre>