SAN*_*009 23 python percentage dataframe pandas
我想在df列中获得特定值的百分比.假设我有一个df(col1,col2,col3,性别)性别列的值为M或F.我想得到df中M和F值的百分比.
我试过这个,它给了我M和F实例的数量,但我希望这些是df中值总数的百分比.
df.groupby('gender').size()
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
cs9*_*s95 42
使用value_counts有normalize=True:
df['gender'].value_counts(normalize=True) * 100
Run Code Online (Sandbox Code Playgroud)
如果您不需要查看M和查看列F以外的值gender,则可以尝试使用value_counts()和count(),如下所示:
df = pd.DataFrame({'gender':['M','M','F', 'F', 'F']})
# Percentage calculation
(df['gender'].value_counts()/df['gender'].count())*100
Run Code Online (Sandbox Code Playgroud)
结果:
F 60.0
M 40.0
Name: gender, dtype: float64
Run Code Online (Sandbox Code Playgroud)
或者,使用groupby:
(df.groupby('gender').size()/df['gender'].count())*100
Run Code Online (Sandbox Code Playgroud)
小智 5
假设有 200 个值,其中 120 个被分类为 M,80 个被分类为 F
1)
df['gender'].value_counts()
output:
M=120
F=80
Run Code Online (Sandbox Code Playgroud)
2)
df['gender'].value_counts(Normalize=True)
output:
M=0.60
F=0.40
Run Code Online (Sandbox Code Playgroud)
3)
df['gender'].value_counts(Normalize=True)*100 #will convert output to percentages
output:
M=60
F=40
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21527 次 |
| 最近记录: |