python - 熊猫从具有相同日期的行中提取某些条目的时间
问题描述
我对 pandas 很陌生,我正在尝试找出如何从 DataFrame 中提取时间值,其中的行包含相同和不同的日期、不同的卖家、不同的状态以及每个状态的时间戳。
我需要从 DataFrame 和每个卖家中提取每个日期第一次出现where State
= "received"的行。
正如您在上面的屏幕截图中所见,同一卖家的“已收到”状态在同一日期出现两次,但时间戳不同,我只需要它第一次出现的行。
PS。不幸的是,我没有尝试过任何代码,我搜索了很多,结果都是空的。任何帮助表示赞赏。
解决方案
IIUC,你需要pandas.groupby
:
>>> df[df["State"]=="Received"].groupby(["Date", "Seller"])["Time"].first()
Date Seller
6/1/2021 Seller_1 8:00:36
Seller_2 9:45:30
6/2/2021 Seller_1 8:00:36
Seller_2 9:33:02
如果您需要最早出现而不是first,则应min()
改为使用。
推荐阅读
- machine-learning - 如何在python中执行肘法?
- ruby-on-rails - 功能规范在本地通过,但在 Circle CI 上失败
- java - Java图形 - 如何在绘制调用之间添加延迟以创建动画?
- postgresql - 使用 PK 序列列值作为另一个非空列的默认值
- sql - adodb执行sql命令超时
- javascript - 如何让链接正确打开?
- vb.net - 有没有办法从网页中检索一些文本到 VB 中的文本框?
- javascript - 将字符串处理成使用数组分隔的单词
- javascript - 如何使用moment js将字符串转换为时间戳?
- html - Flex 列子子溢出高度