Dropna设置为True的 pandas Groupby生成错误输出 [英] Pandas groupby with dropna set to True generating wrong output

查看:23
本文介绍了Dropna设置为True的 pandas Groupby生成错误输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在以下代码片断中:

import pandas as pd
import numpy as np

df = pd.DataFrame(
    {
        "a": [1, 2, 3, 4, 5, 6, 7, 8, 9], 
        "b": [1, np.nan, 1, np.nan, 2, 1, 2, np.nan, 1]
    }
)
df_again = df.groupby("b", dropna=False).apply(lambda x: x)

我预期dfdf_again相同。但它们不是:

df
   a    b
0  1  1.0
1  2  NaN
2  3  1.0
3  4  NaN
4  5  2.0
5  6  1.0
6  7  2.0
7  8  NaN
8  9  1.0

df_again
   a    b
0  1  1.0
2  3  1.0
4  5  2.0
5  6  1.0
6  7  2.0
8  9  1.0
现在,如果我将lambda表达式略微调整为";,请参阅";What With With by df.groupby("b", dropna=False).apply(lambda x: print(x))我实际上可以想象dfbNaN的那部分也已处理。

我这里错过了什么? (使用 pandas 1.3.1和Numpy 1.20.3)

推荐答案

这是 pandas 1.2.0中引入的错误,如here所述,已解决here

这篇关于Dropna设置为True的 pandas Groupby生成错误输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆