大Pandas数据帧将小尺寸的组分割出来

2024-04-25 19:33:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图过滤出小尺寸的组,而filter函数抛出ValueError:不允许负尺寸。我不能发布我的代码,因为它太具体了,我不能用随机的一组数据重现这个问题。有人见过这个吗?我也看到过另一篇关于同样错误的帖子,但没有太大帮助

作为一个解决方案,我正在尝试用groupby和apply做同样的事情filter,但是它没有像预期的那样工作。有什么建议吗?你知道吗

       dff = pd.DataFrame({'A': np.arange(8), 'B': list('aabbbbcc')})
       dff['C'] = np.arange(8)

       def f(x):
         if len(x)>2: 
           return x
         else:
          return None
       dff.groupby('B').apply(f)

       B
        a         A    B    C
        2  NaN  NaN  NaN
        3  NaN  NaN ...
        b       A  B  C
        2  2  b  2
        3  3  b  3
        4  4  b  4
        5 ...
        c         A    B    C
        2  NaN  NaN  NaN
        3  NaN  NaN ...
       dtype: object

Tags: 数据函数代码return尺寸错误npnan
1条回答
网友
1楼 · 发布于 2024-04-25 19:33:49

示例代码的问题是apply在将数据帧放回一起时不知道如何处理Noneapply函数每次都需要输出相同类型的对象。如果你返回pd.DataFrame()而不是“无”,你应该得到你想要的东西。你知道吗

相关问题 更多 >

    热门问题