如何使用Pandas筛选CSV中Acid为Cholic且文件名含E-1.raw的行?
筛选符合条件的DataFrame行
这很容易实现,你可以通过组合两个布尔条件来精准筛选出需要的行,具体代码和细节解释如下:
完整实现代码
import pandas as pd # 读取CSV文件(你已经完成这一步,这里只是完整示例) df = pd.read_csv(csv_file_name) # 组合条件进行筛选 filtered_df = df[(df['Acid'] == 'Cholic') & (df['File Name'].str.contains('E-1.raw'))] # 查看筛选结果 print(filtered_df)
代码细节解释
- 第一个条件:
df['Acid'] == 'Cholic'
这个条件会生成一个布尔序列,标记出所有Acid列值恰好为Cholic的行。 - 第二个条件:
df['File Name'].str.contains('E-1.raw')
利用pandas的字符串处理方法str.contains(),检查File Name列的文本是否包含子串E-1.raw,同样生成布尔序列标记符合条件的行。 - 组合条件:用
&连接两个布尔条件,并且必须用括号将每个条件单独包裹,这是因为pandas中运算符优先级的问题,如果不加括号会导致逻辑错误。
预期输出
基于你提供的DataFrame,筛选后会得到以下两行结果:
Acid Ion File Name Area 0 Cholic 390 sth-E-1.raw 594 3 Cholic 330 sth-E-1.raw 700
内容的提问来源于stack exchange,提问作者Luis Ong
相关产品推荐
相关产品推荐

