如何为filename列取值相同的行生成snippet_time_bounds字段的元组列表
实现方案
假设你使用Pandas处理结构化数据框,可按以下步骤完成需求:
- 若
snippet_time_bounds字段本身已经是元组格式,直接按filename字段分组聚合即可:
import pandas as pd # 替换df为你的实际数据框变量名 result = df.groupby('filename', as_index=False)['snippet_time_bounds'].agg(list)
- 若
snippet_time_bounds存储的是字符串格式的元组(比如"(0.0, 4.032)"),先做格式转换再聚合:
import pandas as pd import ast # 将字符串格式的元组转换为实际元组类型 df['snippet_time_bounds'] = df['snippet_time_bounds'].apply(ast.literal_eval) # 按filename分组,把同组所有snippet_time_bounds汇总为列表 result = df.groupby('filename', as_index=False)['snippet_time_bounds'].agg(list)
聚合完成后,result中每个filename对应的snippet_time_bounds字段值就是你需要的元组列表格式,例如同一个filename下对应三行的snippet_time_bounds分别为(0.0, 4.032)、(4.032, 8.064)、(8.064, 12.096),聚合后结果为[(0.0, 4.032), (4.032, 8.064), (8.064, 12.096)],和示例输出结构完全一致。
内容的提问来源于stack exchange,提问作者Jake Donovan-parker
相关产品推荐
相关产品推荐

