在Python中执行类似Excel的“ vlookup”方法

本篇博客介绍如何在Python中模仿Excel的VLOOKUP功能,通过创建数据框`df1`并进行列匹配与重命名操作,实现数据的查找与整合。示例中展示了如何将两个数据框连接,获取最大事件持续时间和时间戳信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

df1 =
|---------------------|------------------|------------------|

ID_MachineEvent_DurationTimestamp
134213
---------------------------------------------------------
197572
---------------------------------------------------------
178872
---------------------------------------------------------
283345
---------------------------------------------------------
214718
---------------------------------------------------------
2115884
---------------------------------------------------------

首先创建一个名为max的数据框

df_max = df1.groupBy("ID_Machine").agg(F.max("Event_Duration").alias("Event_Duration"))
df_max.show()

你将得到以下数据框:
±---------±-------------+
|ID_Machine|Event_Duration|
±---------±-------------+
| 1| 97|
| 2| 115|
±---------±-------------+
然后通过两个相似的命名列将数据框连接起来,然后重命名事件持续时间:

df_combined = df_max.join(df1, ["ID_Machine", "Event_Duration"]) \
                .withColumnRenamed("Event_Duration", "Max_Event_Duration")
df_combined.show()

你将得到想要的结果:
±---------±-----------------±--------+
|ID_Machine|Max_Event_Duration|Timestamp|
±---------±-----------------±--------+
| 2| 115| 884|
| 1| 97| 572|
±---------±-----------------±--------+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值