python - 获取系列中的最后一个值以匹配熊猫中的某些条件
问题描述
我有一个包含原始数据的数据框,包括下面显示的相关数据,这些数据按时间戳排序。
df1
Line Timestamp Depot Product
0 Line1 08:00 1 P1
1 Line1 08:10 1 P1
2 Line2 08:15 1 P4
3 Line1 08:20 1 P1
4 Line3 08:23 2 P13
5 Line1 08:30 2 P1
我有一个由此得出的每条生产线的汇总表,相关数据如下所示:
df2
Line Product Depot Time_Complete
0 Line 1 P1 1 NaN
1 Line 1 P1 2 NaN
2 Line 1 P2 1 NaN
3 Line 1 P2 1 NaN
我正在尝试做的是从匹配特定条件的第一个数据帧中获取最后一个时间戳。在这种情况下,如果 Line 1, P1, Depot 1 的最后一个时间戳是 08:20。我不是 100% 确定从哪里开始这种类型的争吵
解决方案
我认为需要drop_duplicates
指定列,然后merge
使用左连接:
df11 = df1.drop_duplicates(['Line','Depot','Product'], keep='last')
df = df2.merge(df11, on=['Line','Depot','Product'], how='left')
print (df)
Line Product Depot Time_Complete Datestamp
0 Line1 P1 1 NaN 08:20
1 Line1 P1 2 NaN 08:30
2 Line1 P2 1 NaN NaN
3 Line1 P2 1 NaN NaN
推荐阅读
- ios - 再次打开我的应用程序后,如何保存对象数组并使用相同的值重复使用。#迅速
- c# - 如何在 Entity Framework Core 3 中没有密钥的情况下播种数据?
- python - Python:如何根据用户输入打印对象属性
- sql - 如何替换Oracle中的字符串?
- java - 导入时无法解析符号 TreeMap
- java - 反转数组的方法导致 StackOverflowError
- stripe-payments - Stripe:在期末取消订阅之前发送电子邮件/通知
- database - Oracle 10g 数据库恢复
- java - JPA/Hibernate 只加入一个选定的列
- php - How to insert data from html table to database using laravel