首页 > 解决方案 > 如何访问熊猫中嵌套iterrow的外部for循环的索引?

问题描述

我正在遍历最外层循环中的数据文件和内部循环中的系列。我正在使用 iterrows() 和 items() 分别遍历这两个数据结构。从熊猫文档看来,“索引”名称不能是我声明的变量名称。

所以,当我在 items() 循环中时,我访问的“索引”是系列中的索引,但我想要数据文件中的索引。

最终,我希望能够在迭代时删除特定的行,但我有一个嵌套循环的事实似乎使事情变得复杂。

任何意见,将不胜感激。谢谢!

我试图只设置一个布尔值而不是立即删除该行,然后在我在项目循环之外时删除该行,但这不起作用。

for index, row in ldf.iterrows():
   for index, value in comp.items():
        if row['Type'] == index:
            if row['Score'] < value:
                 ldf.drop(index,inplace=True)

标签: pythonpandasindexing

解决方案


如果我理解正确,您只需要为两个循环变量使用不同的变量名:

for df_index, row in ldf.iterrows():
   for comp_index, value in comp.items():
        if row['Type'] == comp_index:
            if row['Score'] < value:
                 ldf.drop(df_index, inplace=True)

推荐阅读