【发布时间】:2018-06-17 18:32:40
【问题描述】:
我想从我的 pandas 数据框中删除某些行。我以手动方式拼写出我不想包含的每个项目编号。
如何使用循环执行与以下代码所示相同的任务?
df_adhoc_1_final = df_adhoc_1_final[df_adhoc_1_final['ITEM'].str.contains('4888') == False]
df_adhoc_1_final = df_adhoc_1_final[df_adhoc_1_final['ITEM'].str.contains('4889') == False]
df_adhoc_1_final = df_adhoc_1_final[df_adhoc_1_final['ITEM'].str.contains('4890') == False]
df_adhoc_1_final = df_adhoc_1_final[df_adhoc_1_final['ITEM'].str.contains('4891') == False]
df_adhoc_1_final = df_adhoc_1_final[df_adhoc_1_final['ITEM'].str.contains('4892') == False]
df_adhoc_1_final = df_adhoc_1_final[df_adhoc_1_final['ITEM'].str.contains('4893') == False]
【问题讨论】:
-
一般来说,如果你使用带有 DF 的循环,你就做错了。
-
我强烈不同意接受的答案。您应该尽可能避免使用循环。请记住,与 .str.contains 或 .isin 相比,它们不仅更麻烦,而且效率低下
-
如果您的目标是解决另一个除了循环之外不能使用任何东西的问题,您可能应该重新评估您的策略,因为您做错了。
标签: python loops dataframe rows