首页 > 解决方案 > Pandas pivot_table 删除返回所有 None 的聚合函数的值,即使 dropna 参数为 False

问题描述

dropna=Falsepandas的论点pivot_table并没有像我期望的那样做。我从以下 DataFrame 开始:

import pandas as pd
# pd.__version__ = '0.23.3'

df = pd.DataFrame({'fruit':['apple','orange','peach','apple','peach'], 
    'size': [1,1.5,1,2,1],
    'taste': [7,8,6,6,10]})

...以及以下聚合函数:

def return_one(x): 
    return 1

def return_sum(x):
    return sum(x)

def return_none(x):
    return None 

我想重塑df,以便:

以下pivot_table几乎是有的:

pd.pivot_table(df, columns='fruit', 
               aggfunc=[return_sum,return_none,return_one], 
               dropna=False)

return_none 返回的值已被删除

除了的输出return_none已被丢弃。我希望透视表包含一组用于return_none函数的空单元格,因为dropna=False,但事实并非如此。谁能建议如何包括输出return_none

标签: pythonpandasdataframepivot-tableaggregate

解决方案


推荐阅读