我需要将此for循环转换为列表推导。此for循环遍历数据帧以查找每一行,其中'TL'列的条目包括“ J”和'Ink' = 0列,并删除整行:

for r in df.T:
    if 'J' in df.loc[r,'TL'] and df.loc[r,'Ink'] == 0:
        df.drop(r)
    else:
        continue


我已经试过了

df_clean = [
    df.drop(r) for r in df.T if 'J' in df.loc[r,'TL'] and df.loc[r,'Ink'] == 0
]


我收到一个错误说明


  ValueError:DataFrame的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

最佳答案

尝试:

df[~(df.TL.str.contains('J') & df.Ink.eq(0))]

关于python - 如何将此Python for循环转换为列表推导?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44662691/

10-12 17:27
查看更多