代码之家  ›  专栏  ›  技术社区  ›  Giampaolo Levorato

如何删除包含单元格值等于表中标题的记录

  •  0
  • Giampaolo Levorato  · 技术社区  · 4 年前

    我已经阅读了这个数据框架(称为 df ):

    enter image description here

    如您所见,有一条记录包含与标题相同的值( ltv age ).

    我该如何在熊猫中删除该记录?

    数据:

    df = pd.DataFrame({'ltv':[34.56, 50, 'ltv', 12.3], 'age':[45,56,'age',45]})
    
    2 回复  |  直到 4 年前
        1
  •  1
  •   BENY    4 年前

    核实

    out = df[~df.eq(df.columns).any(1)]
    Out[203]: 
         ltv age
    0  34.56  45
    1     50  56
    3   12.3  45
    
        2
  •  1
  •   enke    4 年前

    一种方法是过滤掉它(假设字符串与它们所在的列名匹配):

    out = df[df['ltv']!='ltv']
    

    另一个可能是使用 to_numeric + dropna :

    out = df.apply(pd.to_numeric, errors='coerce').dropna()
    

    输出:

         ltv age
    0  34.56  45
    1     50  56
    3   12.3  45