【发布时间】:2019-10-07 00:58:08
【问题描述】:
我想知道是否可以在计算满足条件的另一列的值时对一列进行分组。因为我的数据集有点奇怪,所以我创建了一个类似的:
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 的大多数变体,使用过滤器、agg,但似乎没有得到任何有效的方法。
提前致谢, BBQuercus :)
【问题讨论】:
标签: python pandas data-science