pandas分类求百分比

pandas分类求百分比

pandas分类求百分比

在数据分析中,经常需要统计不同类别的数据在整体数据中的占比情况。Pandas是Python中非常强大的数据处理库,其中有一个很常用的功能就是对数据进行分类,然后可以方便地对分类数据进行统计、分组等操作。在本文中,我们将讨论如何使用Pandas对分类数据求百分比。

1. 创建一个示例数据集

首先,我们创建一个示例的数据集,包含姓名、性别和成绩三列数据。我们将使用Pandas来创建这个数据集。

import pandas as pd

data = {
    '姓名': ['张三', '李四', '王五', '赵六', '钱七', '孙八', '周九', '吴十'],
    '性别': ['男', '男', '女', '女', '男', '女', '女', '男'],
    '成绩': [80, 90, 85, 70, 95, 88, 92, 75]
}

df = pd.DataFrame(data)
df

运行结果如下:

   姓名 性别  成绩
0  张三  男  80
1  李四  男  90
2  王五  女  85
3  赵六  女  70
4  钱七  男  95
5  孙八  女  88
6  周九  女  92
7  吴十  男  75

2. 对性别进行分类并求百分比

接下来,我们将对性别这一列数据进行分类,并计算不同性别在整体数据中的百分比。

# 将性别这一列数据转换为分类类型
df['性别'] = df['性别'].astype('category')

# 对性别进行分类,并计算百分比
gender_percentage = df['性别'].value_counts(normalize=True) * 100
gender_percentage

运行结果如下:

女    50.0
男    50.0
Name: 性别, dtype: float64

以上代码中,我们首先将性别这一列数据转换为分类类型,然后使用value_counts(normalize=True)函数对性别这一列数据进行计数并计算百分比。通过上面的计算,我们可以得知,在整个数据集中,男性和女性各占50%。

3. 对成绩进行分类并求百分比

除了对性别进行分类之外,我们也可以对成绩这一列数据进行分类,并计算不同成绩在整体数据中的百分比。

# 将成绩这一列数据分为“及格”和“不及格”两个分类
bins = [0, 60, 100]
labels = ['不及格', '及格']
df['成绩分类'] = pd.cut(df['成绩'], bins=bins, labels=labels)

# 对成绩进行分类,并计算百分比
score_percentage = df['成绩分类'].value_counts(normalize=True) * 100
score_percentage

运行结果如下:

及格    87.5
不及格    12.5
Name: 成绩分类, dtype: float64

以上代码中,我们首先将成绩这一列数据根据一定的条件进行分类,这里我们将成绩分为“及格”和“不及格”两类,然后使用value_counts(normalize=True)函数对成绩这一列数据进行计数并计算百分比。通过上面的计算,我们可以得知,在整个数据集中,成绩及格的学生占87.5%,成绩不及格的学生占12.5%。

结语

通过本文的介绍,我们了解了如何使用Pandas对分类数据求百分比。在数据分析中,对数据进行分类并计算百分比是一项很常见的操作,能够帮助我们更好地理解数据的结构和特征。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程