为了账号安全,请及时绑定邮箱和手机立即绑定

使用 for 语句从数据框中附加列表

使用 for 语句从数据框中附加列表

弑天下 2023-12-29 10:02:00
在学校学习Python。在开发一个项目时,我想从一个数据帧中删除特定行并将其转换为另一个数据帧。我有一个包含 372 种动物的列表,如果它们的名字出现在数据框中(数据框有 1288 行,每行都是不同的动物),我想删除该行。因此,我找到了删除行的解决方案:ess_aza = []for i in aza_names:    if True:        ess_aza.append(ess_clean.loc[ess_clean['scientific_name'] == i])    else:        return列表打印出来后的样子是这样的:[Empty DataFrameColumns: [common_name, scientific_name, status]Index: [],   common_name      scientific_name      status0       Addax  Addax nasomaculatus  Endangered, Empty DataFrameColumns: [common_name, scientific_name, status]Index: [],           common_name     scientific_name      status1  Alligator, Chinese  Alligator sinensis  Endangered,      common_name         scientific_name      status1  Anoa, lowland  Bubalus depressicornis  Endangered, Empty DataFrameColumns: [common_name, scientific_name, status]Index: [], Empty DataFrameColumns: [common_name, scientific_name, status]Index: [], Empty DataFrameColumns: [common_name, scientific_name, status]Index: [], ,....我对 Python 的了解不够,不知道为什么它会给我这样的输出。据我所知,它返回所有 1288 行的数据,并为与列表不匹配的所有行返回“空 DataFrame 列:[common_name,science_name,status] 索引:[]”。我怎样才能阻止这种情况发生并只附加一个包含我需要的行的列表?(或者更好的是创建一个新的数据框,其中仅包含我需要的行。这就是最终目标。)
查看完整描述

1 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

如果您有要排除的行列表,请尝试以下操作:

clean_df = df[~df['scientific_name'].isin(excludeRows)]

获取排除行的 df

clean_df = df[df['scientific_name'].isin(excludeRows)]

clean_df 是新的 df,df 是旧的 df,excludeRows 是要排除的第 3 行值。


查看完整回答
反对 回复 2023-12-29
  • 1 回答
  • 0 关注
  • 48 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信