gpt4 book ai didi

python - 根据列中的最大值过滤 DataFrame - Pandas

转载 作者:太空宇宙 更新时间:2023-11-03 15:18:23 24 4
gpt4 key购买 nike

使用 pandas,我有一个如下所示的 DataFrame:

Hour            Browser     Metric1   Metric2   Metric3
2013-08-18 00 IE 1000 500 3000
2013-08-19 00 FF 2000 250 6000
2013-08-20 00 Opera 3000 450 9000
2001-03-21 00 Chrome/29 3000 450 9000
2013-08-21 00 Chrome/29 3000 450 9000
2014-01-22 00 Chrome/29 3000 750 9000

我想创建一个最大值为 Metric1 > 2000 的浏览器数组。有没有最好的方法来做到这一点?你基本上可以看到我试图用下面的代码做什么。

browsers = df[df.Metric1.max() > 2000]['Browser'].unique()

最佳答案

您可以按浏览器分组并取最大值:

In [11]: g = df.groupby('Browser')

In [12]: g['Metric1'].max()
Out[12]:
Browser
Chrome/29 3000
FF 2000
IE 1000
Opera 3000
Name: Metric1, dtype: int64

In [13]: over2000 = g['Metric1'].max() > 2000

In [14]: over2000
Out[14]:
Browser
Chrome/29 True
FF False
IE False
Opera True
Name: Metric1, dtype: bool

要取出数组,将其用作 bool 掩码:

In [15]: over2000[over2000].index.values
Out[15]: array(['Chrome/29', 'Opera'], dtype=object)

关于python - 根据列中的最大值过滤 DataFrame - Pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18906530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com