Python 数据帧筛选-列和行

Python 数据帧筛选-列和行,python,pandas,dataframe,filtering,Python,Pandas,Dataframe,Filtering,我想对熊猫数据帧执行过滤。 示例表如下所示。例如,我想筛选(删除)所有包含值2的列 C1 C2 C3 C4 C5 1 1 1 1 4 1 2 1 2 5 1 1 3 1 4 我想要这样的结果表。(C2和C4已移除) 另外,我希望使用值5对行执行此操作 C1 C3 C5 1 1 4 1 3 4 我可以很容易地对单个列或行执行此操作,如df=df[df.C2!=2],但对于多个或整列和整行,我没有什么好主意。 有什么简单的方法吗?您可以通过选择并指定轴: prin

我想对熊猫数据帧执行过滤。 示例表如下所示。例如,我想筛选(删除)所有包含值2的列

C1 C2 C3 C4 C5
1  1  1  1  4
1  2  1  2  5
1  1  3  1  4
我想要这样的结果表。(C2和C4已移除)

另外,我希望使用值5对行执行此操作

C1 C3 C5
1  1  4
1  3  4
我可以很容易地对单个列或行执行此操作,如df=df[df.C2!=2],但对于多个或整列和整行,我没有什么好主意。 有什么简单的方法吗?

您可以通过选择并指定轴:

print df
   C1  C2  C3  C4  C5
0   1   1   1   1   4
1   1   2   1   2   5
2   1   1   3   1   4

print ~(df == 2)
     C1     C2    C3     C4    C5
0  True   True  True   True  True
1  True  False  True  False  True
2  True   True  True   True  True

df = df.loc[:, ~(df == 2).any(axis=0)]
print df
   C1  C3  C5
0   1   1   4
1   1   1   5
2   1   3   4

df = df.loc[~(df == 5).any(axis=1)]
print df
   C1  C3  C5
0   1   1   4
2   1   3   4

我不知道,但它似乎对处理桌子非常有用。谢谢你的建议。
print df
   C1  C2  C3  C4  C5
0   1   1   1   1   4
1   1   2   1   2   5
2   1   1   3   1   4

print ~(df == 2)
     C1     C2    C3     C4    C5
0  True   True  True   True  True
1  True  False  True  False  True
2  True   True  True   True  True

df = df.loc[:, ~(df == 2).any(axis=0)]
print df
   C1  C3  C5
0   1   1   4
1   1   1   5
2   1   3   4

df = df.loc[~(df == 5).any(axis=1)]
print df
   C1  C3  C5
0   1   1   4
2   1   3   4