python - 我如何进行分组并查看该组的所有成员是否都满足特定条件?

标签 python pandas

我想分组并查看组中的所有成员是否都满足某个条件。这是一个虚拟示例:

x = ['Mike','Mike','Mike','Bob','Bob','Phil']
y = ['Attended','Attended','Attended','Attended','Not attend','Not attend']

df = pd.DataFrame({'name':x,'attendance':y})

我想要做的是返回一个 3x2 数据框,显示每个名字,谁总是出席。它应该如下所示:

new_df = pd.DataFrame({'name':['Mike','Bob','Phil'],'all_attended':[True,False,False]})

最好的方法是什么?

非常感谢。

最佳答案

我们来试试

out = (df['attendance'].eq('Attended')
       .groupby(df['name']).all()
       .to_frame('all_attended').reset_index())
print(out)

   name  all_attended
0   Bob         False
1  Mike          True
2  Phil         False

关于python - 我如何进行分组并查看该组的所有成员是否都满足特定条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73250935/

相关文章:

python - models.py 中的函数是否应该驻留在类之外?

python - 如何使用不带引号的键从字符串中生成有效的 JSON?

python - 有没有办法在python中创建甘特图?

python - 使用 groupby 对 Pandas DataFrame 进行计算,然后将其传回到 DataFrame 中?

python - 保持卡住集中元素的顺序

python - ignore_index 和 concat() 的问题

Python Pandas 一列数据框总和

python - 在代码更改时自动重新加载 python Flask 应用程序

python - 如何将 torch 张量转换为 Pandas 数据帧?

python - 将行添加到 Pandas 数据框中的组