我在pandas中有以下数据框:
print(df)
id num1 num2 num3 num4 num5 num6
a 43 25 37 8 36 20
b 43 36 19 25 44 15
c 43 25 23 38 1 8
如何选择其中包含值8和25的所有行,并为这些行创建新的数据帧?。数据框有数千行,值可以在任何列中。
答案 0 :(得分:2)
您可以为每行中的每个值创建一个布尔检查,然后对数据帧进行切片。下面是一个示例,要求行具有BOTH 8和25.如果您希望任何行具有8或25,请使用|
而不是&
ix = df.eq(8).any(axis=1) & df.eq(25).any(axis=1)
df2 = df[ix]