1
我需要将此循环转换为列表理解。这对于通过数据帧循环迭代找到的所有行上为'TL'
列中的条目包括“J”和列'Ink' = 0
和删除整个行:如何将此Python for循环转换为列表理解?
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().
你尝试过什么吗?如果没有,请给它一个镜头,如果您需要帮助,请回来。如果你有,给我们看。 – jacoblaw
你确定你想要一个列表理解吗?即使假设你可以使它工作,看起来你最终会得到一个DataFrame对象列表,在'df.T'中的每个'r'都有一个对象。无论如何,“for”循环有什么问题? –
我想使用列表理解,因为我正在使用的数据集非常庞大,并且'for'循环将永远运行。 –