我需要将此 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: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
最佳答案
尝试:
df[~(df.TL.str.contains('J') & df.Ink.eq(0))]
关于python - 如何将此 Python for 循环转换为列表理解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44662691/