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

合并Pandas DataFrame行:按时间获取唯一图像名的方法咨询

获取指定时间对应的唯一图像名(Pandas实现)

嘿,这个需求其实用groupby就非常合适,完全没必要用到join,咱们一步步来拆解,用实例代码帮你搞懂:

先构造示例DataFrame

假设你的数据结构是这样的(和你的实际场景匹配):

import pandas as pd

data = {
    '时间': ['2024-05-01', '2024-05-01', '2024-05-02', '2024-05-02', '2024-05-01'],
    '图像名': ['img_001.jpg', 'img_002.jpg', 'img_001.jpg', 'img_003.jpg', 'img_001.jpg']
}
df = pd.DataFrame(data)

方法1:获取所有时间对应的唯一图像名(用groupby)

这是最直接的解决方案,按时间分组后提取每组的唯一图像名:

# 分组并提取唯一值
time_to_unique_imgs = df.groupby('时间')['图像名'].unique()

# 转换成更直观的DataFrame格式(可选)
result_df = time_to_unique_imgs.reset_index(name='唯一图像名')
print(result_df)

输出结果:

时间                唯一图像名
0  2024-05-01  [img_001.jpg, img_002.jpg]
1  2024-05-02  [img_001.jpg, img_003.jpg]

方法2:获取单个指定时间的唯一图像名(直接过滤)

如果只是针对某一个特定时间,不用分组,直接过滤后去重更高效:

# 指定目标时间
target_time = '2024-05-01'

# 过滤+去重
unique_images = df[df['时间'] == target_time]['图像名'].unique()
print(unique_images)

输出结果:

['img_001.jpg' 'img_002.jpg']

关于join的说明

join一般用于合并两个不同的DataFrame,比如你有一个单独的时间列表,需要和另一个图像名表关联时才会用到。但你的数据都在同一个DataFrame里,完全不需要用join,groupby或者直接过滤就足够简洁高效了。


内容的提问来源于stack exchange,提问作者Jagannath Saragadam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:16:31