pandas groupby 计算不同参数的unique 值

pandas groupby 计算unique值,其中第一个Para['uniCount'], 运行为nan, 2 成功了,写法都一样 帮忙看下哪里错了, 或者换种写法?

1.
para['uniCount'] = dfpartable.groupby('Par', as_index=True).apply(lambda x: x.Value.nunique())
image.png

2.
paraStep['uniCount'] = dfpartable.groupby(['Par','Step'], as_index=True).apply(lambda x: x.Value.nunique())
image.png

  1. dfpartable 如下
    image.png
阅读 2.9k
1 个回答

这两组代码应该都无法运行成功吧?理论上 groupby 之后的 index 和之前的 index 是对不上的,建立新列肯定会有产生 NAN。建议直接使用 transform

>>> df['uniCount'] = df.groupby('Par')['Value'].transform('nunique')
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏