首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫:找到第一批从DataFrame上运来的产品

熊猫:找到第一批从DataFrame上运来的产品
EN

Stack Overflow用户
提问于 2015-11-28 14:18:03
回答 2查看 87关注 0票数 1

我有以下DataFrame:

代码语言:javascript
复制
product_id        shipping_date                  price        quantity
  AX-11           2014-11-02T01:00:04+00:00       200            1
  BA-45           2012-05-23T01:00:02+00:00       4000           5
  XF-55           2011-01-12T01:00:07+00:00       400            10
  ..................................................................

我正在尝试获得首先发布的产品,答案应该是XF-55,因为它是在2011-01-12T01:00:07+00:00中发布的。

我尝试了以下代码,但这似乎不起作用:

代码语言:javascript
复制
df2 = df.groupby('product_id')['shipping_date'].transform("min")

这只是给了我一个新的DataFrame与product_id,他们根本没有排序。我怎样才能得到第一批出厂产品的product_id

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-28 14:43:25

使用idxmin()获取最早传送日期的行索引。然后可以使用loc从产品ID列中获取该行的值:

代码语言:javascript
复制
>>> df.loc[df['shipping_date'].idxmin(), 'product_id']
'XF-55'
票数 1
EN

Stack Overflow用户

发布于 2015-11-28 14:28:36

我会使用NumPy的argsort来实现这个目标:

代码语言:javascript
复制
sortidx = np.argsort(df['shipping_date'])

这为您提供了一个索引数组,用于对数据进行排序。因此,返回数组中的第一个索引是最低shipping_date的索引。然后:

代码语言:javascript
复制
df['product_id'][sortidx[0]]

应该给你你想要的结果。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33972315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档