Ric*_*ton 6 python pivot pandas categorical-data
我有一个 pandas 数据框,其中有一个缺少类别的分类系列。
在下面显示的示例中,group具有类别"a"、"b"和,但数据框中"c"没有 的情况。"c"
import pandas as pd
dfr = pd.DataFrame({
"id": ["111", "222", "111", "333"],
"group": ["a", "a", "b", "b"],
"value": [1, 4, 9, 16]})
dfr["group"] = pd.Categorical(dfr["group"], categories=["a", "b", "c"])
dfr.pivot(index="id", columns="group")
Run Code Online (Sandbox Code Playgroud)
生成的数据透视数据框包含列a和b。我期望一c列也包含所有缺失值。
value
group a b
id
111 1.0 9.0
222 4.0 NaN
333 NaN 16.0
Run Code Online (Sandbox Code Playgroud)
如何在分类系列上旋转数据框以包含所有类别的列,无论它们是否存在于原始数据框中?
pd.pivot_table有一个dropna参数指示删除或不删除充满 NaN 的值列。
尝试将其设置为False:
import pandas as pd
dfr = pd.DataFrame({
"id": ["111", "222", "111", "333"],
"group": ["a", "a", "b", "b"],
"value": [1, 4, 9, 16]})
dfr["group"] = pd.Categorical(dfr["group"], categories=["a", "b", "c"])
pd.pivot_table(dfr, index="id", columns="group", dropna=False)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
826 次 |
| 最近记录: |