python pandas 过滤数据

发布于 2022-09-02 20:34:32 字数 521 浏览 6 评论 0

dataframe

     A     B     C       D
1  326  0.00  0.00      10
2  326  0.00  0.00       0
6   63  0.00  2.43      82
5   63  0.00  2.43   0.082
3   63  0.00  2.43  0.0082
4   63  0.00  2.43   0.002

按C列分组,保留D列最小的值
结果是:

2  326  0.00  0.00       0
4   63  0.00  2.43   0.002

使用如下

c = df.groupby('C').filter(lambda x: x.min(['D']))

提示出错

TypeError: unhashable type: 'list'

利用pandas该怎么做能达到?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无妨# 2022-09-09 20:34:32
c = df.groupby('C').min()['D']

图片描述

乞讨 2022-09-09 20:34:32

应该是这样的写法,如果坚持用lambda x

c = data.groupby('C').apply(lambda x: x['D'].min())

print(c)
C
0.00    0.000
2.43    0.002
dtype: float64
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文