可透视(2 级)NaN 未显示

Pivottable (2 levels) NaN not showing

我有一个数据框,它是我从另一个数据框创建的:

df_exp_fix = df_aus[df_aus['CATEGORY'] == "Fixkosten"] 

当我显示 df_exp_fix 时,我得到:

MONTHYEAR Comment LEVEL2 LEVEL3 AMOUNT
0 01.01.2022 bla Lebensmittel Metro 10
1 01.02.2022 bla Taschengeld NaN 10

接下来我做

table_exp_fix = df_exp_fix.pivot_table(values='AMOUNT', index=['LEVEL2', 'LEVEL3'], 
                               columns=['MONTHYEAR'], aggfunc=np.sum, margins=True)

但是没有显示“Taschengeld”这一行? 如果我只在 LEVEL2

上聚合,那么所有的总和都不一样

我试过 dropna.... 和其他参数,但没有显示

有什么帮助吗?

这是因为您的索引列中有一个 NaN 值。

尝试:

df_exp_fix['LEVEL3'].fillna('Unknown', inplace=True)

如果您在 LEVEL2 中也有(可能)NaN,请将它们也替换掉。

此外,要从输出中删除 NaN 值,请添加 fill_value 参数,如下所示:

table_exp_fix = df.pivot_table(values='AMOUNT', index=['LEVEL2', 'LEVEL3'], 
                           columns=['MONTHYEAR'], aggfunc=np.sum, margins=True, fill_value=0)

输出:

                MONTHYEAR   01.01.2022  01.02.2022  All
LEVEL2          LEVEL3          
Lebensmittel    Metro       10          0           10
Taschengeld     Unknown     0           10          10
All                         10          10          20