I have generated a dataset using pandas series and need to print only set of details which contains vowels. ignore case it can be upper or lower
My code :
import pandas as pd
strname='AZCVFueioll'
df = pd.Series(list(strname)).value_counts().sort_values()
df
Output :
A 1
Z 1
a 1
C 1
V 1
F 1
u 1
e 1
i 1
o 1
l 2
Expected output : Need to print only the set of details which as vowels
a 2
c 1
u 1
e 1
i 1
o 1
CodePudding user response:
Try convert with lower then isin
l =('a', 'e', 'i', 'o', 'u')
out = df[df.index.str.lower().isin(l)]
Out[55]:
i 1
A 1
u 1
e 1
o 1
dtype: int64
Update for the follow up question
l =('a', 'e', 'i', 'o', 'u')
df.index = df.index.str.lower()
out = df[df.index.isin(l)].groupby(level=0).sum()
out
Out[58]:
a 1
e 1
i 1
o 1
u 1
dtype: int64
