Pandas get frequency of item occurrences in a column as percentage [duplicate] Pandas get frequency of item occurrences in a column as percentage [duplicate] python python

Pandas get frequency of item occurrences in a column as percentage [duplicate]


Use value_counts with normalize=True:

df['gender'].value_counts(normalize=True) * 100

The result is a fraction in range (0, 1]. We multiply by 100 here in order to get the %.


If you do not need to look M and F values other than gender column then, may be you can try using value_counts() and count() as following:

df = pd.DataFrame({'gender':['M','M','F', 'F', 'F']})# Percentage calculation(df['gender'].value_counts()/df['gender'].count())*100

Result:

F    60.0M    40.0Name: gender, dtype: float64

Or, using groupby:

(df.groupby('gender').size()/df['gender'].count())*100


Let's say there are 200 values out of which 120 are categorized as M and 80 as F

1)

df['gender'].value_counts() output: M=120 F=80

2)

df['gender'].value_counts(Normalize=True)  output:  M=0.60  F=0.40

3)

df['gender'].value_counts(Normalize=True)*100 #will convert output to percentages  output:  M=60  F=40