📜  带有条件的 pandas 数据帧总和 - Python (1)

📅  最后修改于: 2023-12-03 15:09:44.136000             🧑  作者: Mango

带有条件的 pandas 数据帧总和 - Python

在数据分析中,经常需要根据特定的条件对数据进行汇总和计算。本文将介绍如何使用 Pandas 模块中的条件语句和聚合方法来实现带有条件的数据帧总和。

数据导入

首先,我们需要导入需要处理的数据。在本例中,我们将使用 Seaborn 模块 中的 titanic 数据集,该数据集包含了泰坦尼克号上的乘客信息。

import seaborn as sns

titanic_df = sns.load_dataset('titanic')
带有条件的数据帧总和

在 Pandas 模块中,我们可以使用 groupby() 方法按照某一列的值进行分组,并使用 sum() 方法计算对应列的总和。例如,我们可以按照性别分组,并计算每个性别对应的幸存者人数和平均票价:

titanic_df.groupby('sex')[['survived', 'fare']].sum()

但是,如果我们需要计算符合一定条件的行的对应列的总和,我们就需要加入一定的条件语句。例如,我们需要计算年龄大于 30 岁的幸存者人数和平均票价:

titanic_df[titanic_df['age'] > 30].groupby('sex')[['survived', 'fare']].sum()

以上代码首先使用条件语句 titanic_df['age'] > 30,筛选出所有年龄大于 30 岁的行,并按照性别分组计算对应的幸存者人数和平均票价。

Markdown 返回部分代码
## 带有条件的数据帧总和

在 Pandas 模块中,我们可以使用 `groupby()` 方法按照某一列的值进行分组,并使用 `sum()` 方法计算对应列的总和。例如,我们可以按照性别分组,并计算每个性别对应的幸存者人数和平均票价:

```python
titanic_df.groupby('sex')[['survived', 'fare']].sum()

但是,如果我们需要计算符合一定条件的行的对应列的总和,我们就需要加入一定的条件语句。例如,我们需要计算年龄大于 30 岁的幸存者人数和平均票价:

titanic_df[titanic_df['age'] > 30].groupby('sex')[['survived', 'fare']].sum()