我正在尝试执行与this question中相同的操作,但是我有一个字符串类型的列,需要将其保留在数据框中,以便可以识别出哪些行。 (我想我可以按索引执行此操作,但是我希望能够节省一个步骤。)是否有一种方法在使用.any()时不对列进行计数,而是将其保留在结果数据框中?谢谢!
这是在所有列上加上文字的代码:
df[(df > threshold).any(axis=1)]
这是我现在正在使用的硬编码版本:
df[(df[list_of__selected_columns] > 3).any(axis=1)]
这对我来说似乎有点笨拙,所以我想知道是否有更好的方法。
您可以使用.select_dtype
选择所有内容,例如数字列:
df[df.select_dtype(include='number').gt(threshold).any(axis=1)]
或带有iloc
的连续列块:
df[df.iloc[:,3:6].gt(threshold).any(axis=1)]
如果要选择一些随机的列列表,最好通过硬编码列表来解决。