[英]Pandas pivot_table drops values for aggregate functions that return all None, even if dropna argument is False
pandas pivot_table
的dropna=False
参数没有按照我的预期做。 我从以下 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
function 的空单元格,因为dropna=False
,但事实并非如此。 谁能建议如何包含 return_none 的return_none
?
此问题是在pandas 存储库中提出的,该修复已于 2019 年 4 月实施。 在 Pandas 的当前版本中, pivot_table
Dropna
参数在为 False 时受到尊重:
import pandas as pd
# pd.__version__ is '1.5.0'
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
pd.pivot_table(df, columns='fruit',
aggfunc=[return_sum, return_none, return_one],
dropna=False)
回报:
return_sum return_none return_one
fruit apple orange peach apple orange peach apple orange peach
size 3.0 1.5 2.0 None None None 1 1 1
taste 13.0 8.0 16.0 None None None 1 1 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.