gpt4 book ai didi

python - 包括基于一组分组数据的缺失值组合

转载 作者:行者123 更新时间:2023-12-01 01:20:21 25 4
gpt4 key购买 nike

我正在扩展之前的线程:Including missing combinations of values in a pandas groupby aggregation

在上面的线程中,接受的答案计算分组变量的所有可能的组合。在此版本中,我想根据一组组来计算组合。

让我们举个例子。

这是输入数据框:

enter image description here

这里,一组是[Year,Quarter],即

Year  Quarter
2014 Q1
2015 Q2
2015 Q3

另一组组是名称:

Name
Adam
Smith

现在,我想应用 groupbysum,以便将上述组组合的缺失值检测为 NaN

这是示例输出:

enter image description here

如果有任何帮助,我将不胜感激。

<小时/>

以下是 dict 格式的示例输入输出:

input=
{'Year': {0: 2014, 1: 2014, 2: 2015, 3: 2015, 4: 2015},
'Quarter': {0: 'Q1', 1: 'Q1', 2: 'Q2', 3: 'Q2', 4: 'Q3'},
'Name': {0: 'Adam', 1: 'Smith', 2: 'Adam', 3: 'Adam', 4: 'Smith'},
'Value': {0: 2, 1: 3, 2: 4, 3: 5, 4: 5}}

output=
{'Year': {0: 2014, 1: 2014, 2: 2015, 3: 2015, 4: 2015, 5: 2015},
'Quarter': {0: 'Q1', 1: 'Q1', 2: 'Q2', 3: 'Q2', 4: 'Q3', 5: 'Q3'},
'Name': {0: 'Adam', 1: 'Smith', 2: 'Adam', 3: 'Smith', 4: 'Smith', 5: 'Adam'},
'Value': {0: 2.0, 1: 3.0, 2: 9.0, 3: nan, 4: 5.0, 5: nan}}

澄清:

我正在寻找一种不进行熔化和类型转换的方法。即不使用长格式和宽格式。

最佳答案

您发布的示例帖子是正确的答案:groupby 获取sum,然后unstack 查找缺失值,然后stack 参数 dropna=False 这里是 stack 上的文档

df.groupby(['Year','Quarter','Name']).sum().unstack().stack(dropna=False).reset_index()

Year Quarter Name Value
0 2014 Q1 Adam 2.0
1 2014 Q1 Smith 3.0
2 2015 Q2 Adam 9.0
3 2015 Q2 Smith NaN
4 2015 Q3 Adam NaN
5 2015 Q3 Smith 5.0

关于python - 包括基于一组分组数据的缺失值组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53900099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com