gpt4 book ai didi

python - Pandas .idxmin() 使用 Groupby 抛出 ValueError

转载 作者:行者123 更新时间:2023-12-02 07:30:37 24 4
gpt4 key购买 nike

我有一个包含数千行的数据框,其中包含多个人的多个条目:

    Name        ID          Date
0 Person A 9999249491 2015-12-28
1 Person A 9999249491 2015-12-29
2 Person A 9999293341 2015-12-30
3 Person B 9999293341 2015-12-30
4 Person B 9999293341 2015-12-31

我想找到最小值Date索引对于每个使用 groupby() 的人和idxmin()但我收到了ValueError当我执行以下命令时出现消息:

df.groupby(['Name','ID'])['Date'].idxmin()

返回以下错误:

---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-153-ef18ad96a6d8> in <module>()
3 t = df[['Name','ipg_id','Date']]
4
----> 5 t.groupby(['Name','ipg_id'])['Date'].idxmin()

C:\Users\nickb\Anaconda2\lib\site-packages\pandas\core\groupby.pyc in idxmin(self, axis, out, skipna)

C:\Users\nickb\Anaconda2\lib\site-packages\pandas\core\groupby.pyc in wrapper(*args, **kwargs)
548 *args, **kwargs)
549 except (AttributeError):
--> 550 raise ValueError
551
552 return wrapper

ValueError:
<小时/>

但是,我可以执行min()没有任何问题的方法:

df.groupby(['Name','ID'])['Date'].min()

返回:

Name        ID
Person A 9999249491 2015-12-28
Person B 9999293341 2015-12-30

我似乎不明白为什么我会收到 ValueError信息。有关获取的任何线索idxmin()能工作就太好了。谢谢。

最佳答案

我认为您需要将Date列设置为之前的日期时间:

df.Date = pd.to_datetime(df.Date)

关于python - Pandas .idxmin() 使用 Groupby 抛出 ValueError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41146818/

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