You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何排序后的DataFrame列映射到Python字典后键对应旧值?

问题原因解析

核心原因在于字典的键具有唯一性:

  • 使用dict(zip(df['Id'], df['Date']))构建字典时,会按DataFrame的行顺序依次处理每一组Id和Date键值对。
  • 排序后的DataFrame中,AB001出现了两次:第一行是AB001:2023-12-23,第三行是AB001:2020-03-12。
  • 当遍历到第三行的AB001时,字典中已存在的同名键会被覆盖,最终AB001对应的是最后一次遍历到的值2020-03-12。

如果要保留每个Id对应的最新日期,可先对DataFrame按Id去重,保留每个Id的第一行数据再构建字典:

df_unique = df.drop_duplicates(subset='Id', keep='first')
date_dict = dict(zip(df_unique['Id'], df_unique['Date']))

此时date_dict['AB001']会返回2023-12-23。

内容的提问来源于stack exchange,提问作者Akshaya B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 11:02:18