Skip to main content
 首页 » 编程设计

python之查找 Pandas 数据框

2025年05月04日13mayingbao

我通过读取文本文件创建了一个数据框。我想知道特定列中是否存在少量值,如果存在,我想打印整行。

这是我的输入文件(analyte_map.txt):

Analyte_id    mass    Intensity    
A34579        101.2    786788 
B12345        99.2     878787 
B943470       103.89   986443 
C12345        11.2      101 

这是我的代码:

import pandas as pd 
map_file="analyte_map.txt" 
array=['A34579','B943470','D583730'] 
analyte_df=pd.read_table(map_file,sep="\t") 
for value in array: 
    if analyte_df.lookup([value],['Analyte_id']): 
        print '%s\t%s'%(analyte_df['mass'],analyte_df['Intensity']) 

请您参考如下方法:

您可以使用 boolean indexing与 isin :

array=['A34579','B943470','D583730'] 
print (df[df.analyte_id.isin(array)]) 
  analyte_id    mass  Intensity 
0     A34579  101.20     786788 
2    B943470  103.89     986443 

此外,如果只需要一些列,请使用 ix :

array=['A34579','B943470','D583730'] 
print (df.ix[df.analyte_id.isin(array), ['mass','Intensity']]) 
     mass  Intensity 
0  101.20     786788 
2  103.89     986443