我有一个结果表
Year mycat
2019 A 2
B 1
2020 A 0
B 1
在第三行(2020, A
)你看到零。我想去掉这样的行。
Year mycat
2019 A 2
B 1
2020 B 1
我该怎么做呢?有没有一种方法可以让Pandas处理这个问题,而不用在我完成.groupby().size()
之后“黑掉”结果表?
下面是完整的代码:
>>> import pandas as pd
>>> df = pd.DataFrame({'Year': [2019, 2019, 2019, 2020], 'mycat': list('AABB')})
>>> df.mycat = df.mycat.astype('category')
>>> df
Year mycat
0 2019 A
1 2019 A
2 2019 B
3 2020 B
>>> df.groupby(['Year', 'mycat']).size()
Year mycat
2019 A 2
B 1
2020 A 0
B 1
dtype: int64
1条答案
按热度按时间vjhs03f71#
是的,有一种方法可以消除零示例groupby结果,即使是对于您指定的输入 Dataframe 中的类别:
在
groupby()
的文档中,observed
参数解释如下:观察到:bool,默认为False
这仅适用于任何组为分类的情况。如果为True:仅显示分类分组的观测值。如果为False:显示分类分组的所有值。