home_lst = [True, False] flag_lst = ["H", "HU", "HD", "AH", "A", "AU", "AD", "HA"] dataframe df 某一列in home_lst某六列分别 in flag,如何能快速统计
时间: 2024-03-17 11:38:22 浏览: 64
你可以使用pandas库中的groupby函数来快速统计满足条件的数据。首先,你可以使用df.isin()函数来筛选出满足条件的行,然后使用groupby函数对结果进行分组,并使用count函数进行统计。下面是具体的代码示例:
```python
# 导入pandas库
import pandas as pd
# 创建DataFrame
df = pd.DataFrame({
'home': [True, False, True, False, True, False],
'flag': ["H", "HU", "HD", "AH", "A", "AU"]
})
# 定义条件
home_lst = [True, False]
flag_lst = ["H", "HU", "HD", "AH", "A", "AU", "AD", "HA"]
# 使用isin函数筛选满足条件的行
filtered_df = df[df['home'].isin(home_lst) & df['flag'].isin(flag_lst)]
# 使用groupby函数对结果进行分组,并使用count函数进行统计
result = filtered_df.groupby(['home', 'flag']).size().reset_index(name='count')
# 打印结果
print(result)
```
这样,你就可以得到一个包含满足条件的行以及对应统计数量的DataFrame。如果你想要进一步处理结果,可以根据需要进行操作。
阅读全文