按多个列值过滤pandas数据帧行

qua*_*abe 5 python dataframe pandas

我有一个包含带编号列的行的pandas数据框:

    1  2  3  4  5
a   0  0  0  0  1
b   1  1  2  1  9             
c   2  2  2  2  2
d   5  5  5  5  5
e   8  9  9  9  9
Run Code Online (Sandbox Code Playgroud)

如何过滤出列的子集高于或低于某个值的行?

因此,例如:我想删除列1到3所有值都不> 3的所有行.在上面,这将只留下行d和e.

我过滤的列和我要检查的值都是参数.

我尝试了一些东西,这是我得到的最接近的东西:

df[df[range(1,3)]>3]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

piR*_*red 5

我曾经locall 这个功能:

def filt(df, cols, thresh):
    return df.loc[(df[cols] > thresh).all(axis=1)]

filt(df, [1, 2, 3], 3)

   1  2  3  4  5
d  5  5  5  5  5
e  8  9  9  9  9
Run Code Online (Sandbox Code Playgroud)