如何遍历数据框列表并删除Speed低于50的行
批量处理列表中的DataFrame:删除Speed低于50的行
简化单元素处理逻辑
你之前的代码可以大幅简化,不用先提取timestamp再反选,直接通过Speed列的条件过滤即可,结果完全一致:
# 处理单个元素的简化写法 df_processed = list_A[1][list_A[1]['Speed'] >= 50]
遍历整个列表的两种常用方法
方法1:列表推导式(最简洁高效)
直接生成一个包含所有处理后DataFrame的新列表,结构和原列表完全一致:
# 假设原列表名为list_A,注意列名是大写的Speed,避免和小写混淆 filtered_list = [df[df['Speed'] >= 50] for df in list_A]
方法2:for循环遍历(适合需要中间操作的场景)
如果需要在处理过程中加入额外逻辑,用循环更灵活:
filtered_list = [] for df in list_A: # 过滤出Speed不低于50的行 processed_df = df[df['Speed'] >= 50] filtered_list.append(processed_df) # 若要直接修改原列表(不推荐,易引发误操作) for idx in range(len(list_A)): list_A[idx] = list_A[idx][list_A[idx]['Speed'] >= 50]
内容的提问来源于stack exchange,提问作者user19748530
相关产品推荐
相关产品推荐

