You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在DataFrame列中查找并移除包含'@'符号的行

处理含特殊字符的大型DataFrame:删除带'@'的行

核心思路

利用pandas的字符串匹配功能,快速定位并过滤掉包含'@'的行,无需依赖Excel处理大文件。

具体步骤与代码

  1. 加载数据
    导入pandas并加载你的数据集(根据实际文件格式调整读取方式,示例以csv为例):

    import pandas as pd
    
    # 加载原始DataFrame,替换为你的文件路径和格式
    df = pd.read_csv('your_chemical_data.csv')
    
  2. 筛选清理数据
    直接生成不含'@'的新DataFrame(这是处理大型数据集最高效的方式):

    # 筛选formula列中不包含'@'的行,na=False避免NaN值引发报错
    clean_df = df[~df['formula'].str.contains('@', na=False)]
    

    如果你需要先查看哪些行包含'@',可以先定位:

    # 查看所有带'@'的行
    problematic_rows = df[df['formula'].str.contains('@', na=False)]
    print(problematic_rows)
    
    # 再删除这些行
    clean_df = df.drop(problematic_rows.index)
    
  3. 保存清理后的结果
    将处理好的数据保存到新文件:

    # 保存为csv,index=False不保留原索引
    clean_df.to_csv('cleaned_chemical_data.csv', index=False)
    

注意事项

  • 如果你的DataFrame中存在NaN值,na=False会将其视为不包含'@'的行保留;若需要删除NaN行,可以额外添加df = df.dropna(subset=['formula'])。
  • 对于超大型数据集,优先使用直接筛选的方式(第一种方法),避免额外的索引操作,提升处理速度。

内容的提问来源于stack exchange,提问作者Colton Seegmiller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 11:15:37