如何基于ID列表从已有Pandas表格筛选生成新表格?
筛选指定ID的数据生成新表格
你可以通过Pandas的isin()方法快速筛选出目标ID对应的行,具体操作如下:
基础筛选操作
假设你的DataFramedf中的ID列数据类型和total_sources列表里的元素类型一致(比如都是字符串),直接用布尔索引筛选即可:filtered_df = df[df['ID'].isin(total_sources)]类型不匹配的处理
如果df['ID']是数值类型(比如整数),而total_sources里是字符串ID,需要统一类型后再筛选:- 方法一:把列表元素转为数值类型
total_sources_num = [int(id_str) for id_str in total_sources] filtered_df = df[df['ID'].isin(total_sources_num)] - 方法二:把DataFrame的ID列转为字符串类型
df['ID'] = df['ID'].astype(str) filtered_df = df[df['ID'].isin(total_sources)]
- 方法一:把列表元素转为数值类型
保存筛选后的新表格
如果需要将结果保存为新的表格文件(比如和原文件一样的fwf格式),可以用to_fwf()方法:filtered_df.to_fwf('filtered_table1.dat', index=False)
内容的提问来源于stack exchange,提问作者Dila
相关产品推荐
相关产品推荐

