我有一个带有字符串的pandas数据框。我想缩短它们,所以我决定去掉元音。然后,我的下一步是获取字符串的前四个字符,但是我遇到了冲突。有没有更聪明的方法来做到这一点,这样我就可以尝试不使用可重复的字符串,但也可以保留4个字符串?
import pandas as pd
import re
d = {'test': ['gregorypolanco','franciscoliriano','chrisarcher', 'franciscolindor']}
df = pd.DataFrame(data=d)
def remove_vowels(r):
result = re.sub(r'[AEIOU]', '', r, flags=re.IGNORECASE)
return result
no_vowel = pd.DataFrame(df['test'].apply(remove_vowels))
no_vowel['test'].str[0:4]
输出:
0 grgr
1 frnc
2 chrs
3 frnc
Name: test, dtype: object
从上面可以看到,缩短后的“ franciscoliriano”和“ franciscolindor”相同。