我想知道在满足条件的情况下,是否可以按照一列进行分组,同时统计另一列的值。由于我的数据集有点奇怪,所以我创建了一个类似的数据集:
import pandas as pd
raw_data = {'name': ['John', 'Paul', 'George', 'Emily', 'Jamie'],
'nationality': ['USA', 'USA', 'France', 'France', 'UK'],
'books': [0, 15, 0, 14, 40]}
df = pd.DataFrame(raw_data, columns = ['name', 'nationality', 'books'])
比如,我希望按国籍分组,并计算来自该国家没有书(书== 0)的人数。
因此,我期望输出类似于以下内容:
nationality
USA 1
France 1
UK 0
我尝试了groupby的大多数变体,使用了filter和agg,但似乎都没有得到有效的结果。
提前感谢, BBQuercus :)