表面上,下面两个功能的计数结果应该匹配。但是,由于某些原因,他们没有这样做。
pd.pivot_table(df[['gender','age_group', 'uuid']], index='gender', columns='age_group', aggfunc='count')
df.groupby(['gender', 'age_group']).count()[['uuid']]
似乎pd.pivot_table
函数被低估了,好像uuid
列中有空值。 pivot_table
中不应该存在一个NaN列,我认为所有这些缺失值都将在该列中出现:
age_group NaN (24.964, 30.0] (30.0, 35.0] (35.0, 40.0] (40.0, 45.0] (45.0, 50.0] (55.0, 60.0]
但是,据我所知,groupby
函数似乎在正确计数。知道是什么原因造成的吗?
我正在运行python 3.7,对于我来说(从3.4开始)对我来说有些新意,以防万一可能是问题所在。
答案 0 :(得分:1)
pivot_table
默认会丢弃nan
。如果情况有所变化,请尝试将dropna=False
传递给pivot_table
。