Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:Dataframe,groupby,但保留其他缺失的值_Python_Pandas_Pandas Groupby - Fatal编程技术网

Python:Dataframe,groupby,但保留其他缺失的值

Python:Dataframe,groupby,但保留其他缺失的值,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我的数据框看起来像这样: date | status | value 0 2020-01 | true | 3 1 2020-01 | true | 8 2 2020-02 | true | 5 3 2020-01 | false | 1 4 2020-01 | false | 11 date | status | value 0 202

我的数据框看起来像这样:

       date    |  status  |  value
0      2020-01 |  true    |  3
1      2020-01 |  true    |  8
2      2020-02 |  true    |  5
3      2020-01 |  false   |  1
4      2020-01 |  false   |  11
       date    |  status  |  value
0      2020-01 |  true    |  11
1      2020-02 |  true    |  5
2      2020-01 |  false   |  12
3      2020-02 |  false   |  0
对于大多数函数,我会调用
groupby

df_group = df.groupby(['date', 'status'])[['value']].agg('sum').reset_index()
…并获得以下信息:

       date    |  status  |  value
0      2020-01 |  true    |  11
1      2020-02 |  true    |  5
2      2020-01 |  false   |  12
但我试图达到的是一个数据帧,其中还列出了“缺失”值,如下所示:

       date    |  status  |  value
0      2020-01 |  true    |  3
1      2020-01 |  true    |  8
2      2020-02 |  true    |  5
3      2020-01 |  false   |  1
4      2020-01 |  false   |  11
       date    |  status  |  value
0      2020-01 |  true    |  11
1      2020-02 |  true    |  5
2      2020-01 |  false   |  12
3      2020-02 |  false   |  0
groupby
是否是正确的功能?

与一起使用,同时删除
[[]]
,而
agg
只能使用
sum

df_group = (df.groupby(['date', 'status'])['value']
              .sum()
              .unstack(fill_value=0)
              .stack()
              .reset_index(name='value'))
print (df_group)
      date  status  value
0  2020-01   False     12
1  2020-01    True     11
2  2020-02   False      0
3  2020-02    True      5