python - 我可以使用 pandas 的 pivot_table 来聚合缺少值的列吗?
问题描述
我可以使用 pandas pivot_table 聚合具有缺失值的列并将这些缺失值包含为单独的类别吗?
In:
df = pd.DataFrame({'a': pd.Series(['X', 'X', 'Y', 'Y', 'N', 'N'], dtype='category'),
'b': pd.Series([None, None, 'd', 'd', 'd', 'd'], dtype='category')})
Out:
a b
0 X NaN
1 X NaN
2 Y d
3 Y d
4 N d
5 N d
In:
df.groupby('a')['b'].apply(lambda x: x.value_counts(dropna=False)).unstack(1)
Out:
NaN d
a
N NaN 2.0
X 2.0 0.0
Y NaN 2.0
我可以使用 pandas pivot_table 获得相同的结果吗?如果是,比怎么样?谢谢。
解决方案
由于某些未知原因,在计算值时dtype="category"
不起作用。将它们转换为常规字符串可以启用常规.pivot_table()
NaN
pivot_table(aggfunc="size")
df.astype(str).pivot_table(index="a", columns="b", aggfunc="size")
结果
b d nan
a
N 2.0 NaN
X NaN 2.0
Y 2.0 NaN
可以选择用s.fillna(0)
替换nan
s0
推荐阅读
- reactjs - Ionic React useState 值在道具函数中使用后消失
- batch-file - 我想使用批处理文件从文本文件中执行几个 cmd 命令
- python - 我不知道当尝试将 pip 从 20.2.2 升级到 20.2.3 时会发生什么显示错误
- selenium - Selenium - LoadableComponent 和 SlowLoadableComponent 有什么区别
- python - dlib 有哪些不同类型的人脸识别?
- reactjs - 类型推断不包括动态 Object.fromEntries() 属性
- r - 如何在 R Plotly 饼图和折线图中将数字格式相应地悬停到 K 或 M
- java - 如何删除清单内部服务错误
- jpa - 在 Spring Data JPA 中,一次选择的 EAGER 加载不起作用
- c - 使用密码 ECDHE-RSA-AES128-GCM-SHA256 构建 openssl 服务