我试图使用多个条件从数据集删除行,但我收到一些不同的错误。我已经尝试填充一个新的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']))
]