从具有多个条件的数据框中删除行

  • 本文关键字:数据 删除行 条件 pandas
  • 更新时间 :
  • 英文 :


我试图使用多个条件从数据集删除行,但我收到一些不同的错误。我已经尝试填充一个新的df以及从我现有的df中删除。

clean_df = df[df["assessment.Year_Built"] >= 1900 
& df["assessment.Roof_Cover"] != 'Asbestos', '2', '3', 'Built-up', 'Roll Composition', 'Other', 'Tar and Gravel', 'Urethane', 'Wood', 'Wood Shake/ Shingles']

给出了错误-TypeError: Cannot perform 'rand_' with a dtyped [object] array and scalar of type [bool]

clean_df = df.drop(df[(df['assessment.Year_Built'] <= 1900)
& (df['assessment.Roof_Cover'] == 'Asbestos')].index)

上面的代码不会抛出错误,但实际上不会从df中删除任何内容。

尝试如下修改第一行。您正在检查not equal,然后提供一个列表

clean_df = df[ (df["assessment.Year_Built"] >= 1900 )
& (~df["assessment.Roof_Cover"].isin(['Asbestos', '2', '3', 
'Built-up', 'Roll Composition', 'Other', 
'Tar and Gravel', 'Urethane', 'Wood', 'Wood Shake/ Shingles'])) 
]

最新更新