Pandas 列筛选多个条件并加总合计
时间: 2023-08-21 20:02:49 浏览: 86
你可以使用 Pandas 的 loc 方法来筛选多个条件的列并加总合计。例如,假设你有一个 DataFrame,其中包含 'A'、'B' 和 'C' 三列数据,你想要筛选出 'A' 列中大于 5 且 'B' 列中小于 10 的数据,并对 'C' 列进行合计,可以使用以下代码:
``` python
import pandas as pd
# 创建示例数据
data = {'A': [1, 6, 9, 3, 8],
'B': [11, 4, 7, 9, 2],
'C': [5, 2, 8, 6, 1]}
df = pd.DataFrame(data)
# 筛选条件并加总合计
result = df.loc[(df['A'] > 5) & (df['B'] < 10), 'C'].sum()
print(result)
```
输出结果为:
```
2
```
这里的 loc 方法中使用了两个条件,一个是 df['A'] > 5,另一个是 df['B'] < 10,它们之间使用 & 连接表示“且”的关系,即两个条件都需要满足才能筛选出对应的行。最后,我们选择了 'C' 列,并对它进行了合计。
相关问题
Pandas 同一列多个条件筛选并加总合计
你可以使用 Pandas 的 loc 方法来实现同一列多个条件筛选并加总合计。下面是一个示例代码:
```python
import pandas as pd
# 创建示例数据
df = pd.DataFrame({
'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 30, 35, 40],
'gender': ['F', 'M', 'M', 'M'],
'salary': [5000, 6000, 7000, 8000]
})
# 使用 loc 方法筛选并加总合计
total_salary = df.loc[(df['age'] > 30) & (df['gender'] == 'M'), 'salary'].sum()
print('Total salary:', total_salary)
```
在上面的示例代码中,我们首先创建了一个示例数据,包含了四个人的姓名、年龄、性别和薪资。然后,我们使用 loc 方法来筛选出年龄大于 30 并且性别为男性的人的薪资,并将它们加总合计。最后,我们打印出了总薪资。
pandas 多个条件筛选多列
在 pandas 中,可以使用 loc 方法进行多条件筛选多列数据。例如,需要筛选出 column1、column2 和 column3 中符合以下两个条件的数据:
1. column1 中的值大于 10;
2. column2 中的值小于 5。
可以使用以下代码实现:
```python
df_filtered = df.loc[(df['column1'] > 10) & (df['column2'] < 5), ['column1', 'column2', 'column3']]
```
其中,第一个参数 `(df['column1'] > 10) & (df['column2'] < 5)` 表示两个条件的逻辑与,第二个参数 `['column1', 'column2', 'column3']` 表示需要筛选的列名。
如果需要使用逻辑或,可以使用 `|` 进行连接,例如:
```python
df_filtered = df.loc[(df['column1'] > 10) | (df['column2'] < 5), ['column1', 'column2', 'column3']]
```
这将筛选出 column1、column2 和 column3 中,满足以下两个条件之一的数据:
1. column1 中的值大于 10;
2. column2 中的值小于 5。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)