为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不删除分组变量的情况下将 .bfill() 与 pandas groupby 一起使用

如何在不删除分组变量的情况下将 .bfill() 与 pandas groupby 一起使用

MYYA 2023-04-11 15:55:48
我想使用 bfill 和 groupby,但还没有想出一种不删除分组变量的方法。我知道我可以直接连接 ID 列,但必须有另一种方法来执行此操作。import pandas as pdimport numpy as nptest = pd.DataFrame({'ID': ['A', 'A', 'A', 'B', 'B', 'B'],                     'dd': [0, 0, 0, 0, 0, 0],                     'nu': np.array([0, 1, np.NaN, np.NaN, 10, 20])})In [11]:test.groupby('ID').bfill()Out[11]:      nu0   0.01   1.02   NaN3  10.04  10.05  20.0期望的输出  ID  dd    nu0  A   0   0.01  A   0   1.02  A   0   NaN3  B   0  10.04  B   0  10.05  B   0  20.0
查看完整描述

1 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

尝试df.assign

>>> test.assign(nu=test.groupby('ID').bfill()['nu'])

  ID  dd    nu

0  A   0   0.0

1  A   0   1.0

2  A   0   NaN

3  B   0  10.0

4  B   0  10.0

5  B   0  20.0

或者df.groupby.apply

>>> test.groupby('ID').apply(lambda x:x.bfill())

  ID  dd    nu

0  A   0   0.0

1  A   0   1.0

2  A   0   NaN

3  B   0  10.0

4  B   0  10.0

5  B   0  20.0


查看完整回答
反对 回复 2023-04-11
  • 1 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信