Python 如何过滤数据帧以包含特定值?
如果数据帧中的任何列包含非二进制(0或1)数字,如何排除行。不是基于特定列排除,而是针对所有列排除 例如,我们有这样一个数据帧,我们想删除第0、2和4行Python 如何过滤数据帧以包含特定值?,python,pandas,dataframe,filter,Python,Pandas,Dataframe,Filter,如果数据帧中的任何列包含非二进制(0或1)数字,如何排除行。不是基于特定列排除,而是针对所有列排除 例如,我们有这样一个数据帧,我们想删除第0、2和4行 array = [[1, 0, 0, 0, 0, 0, 2], [1, 0, 0, 1, 0, 0, 0], [2, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0], [1, 0, 0, 3, 0, 0, 0]] df = pd.DataF
array = [[1, 0, 0, 0, 0, 0, 2],
[1, 0, 0, 1, 0, 0, 0],
[2, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 1, 0],
[1, 0, 0, 3, 0, 0, 0]]
df = pd.DataFrame(array, columns = ['AB','AC','CB','DE','FA','CD','AF'] )
- 用于创建,然后单击
df=df[df.isin([1,0])].dropna()
#显示(df)
AB AC CB DE FA CD AF
1 1.0 0 0 1.0 0 0 0.0
3 0.0 0 0 0.0 0 1 0.0
- 另一种方法是
- 其中
表示~
不是
- 我们还可以在代码末尾使用
,而不是.dropna()
~
df = df[~df.isin([0, 1])]