Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 选择所有列均等于值的所有行_Python_Pandas_Dataframe - Fatal编程技术网

Python 选择所有列均等于值的所有行

Python 选择所有列均等于值的所有行,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框,我需要选择所有列都等于0.00的行。 我该怎么做呢?首先,我们将设置一些要处理的示例数据-这里有3列,但在您的示例中可能更多,也可能更少 import pandas as pd data = [ {"A": 1, "B": 1, "C" : 1}, {"A": 0, "B": 1, "C" : 1}, {"A": 1

我有一个数据框,我需要选择所有列都等于0.00的行。
我该怎么做呢?

首先,我们将设置一些要处理的示例数据-这里有3列,但在您的示例中可能更多,也可能更少

import pandas as pd

data = [
    {"A": 1, "B": 1, "C" : 1},
    {"A": 0, "B": 1, "C" : 1},
    {"A": 1, "B": 0, "C" : 1},
    {"A": 0, "B": 0, "C" : 1},
    {"A": 1, "B": 1, "C" : 0},
    {"A": 0, "B": 1, "C" : 0},
    {"A": 1, "B": 0, "C" : 0},
    {"A": 0, "B": 0, "C" : 0}
    
]

df = pd.DataFrame(data)
并定义一个函数,该函数接受数据帧中的一行,并对其执行一些测试——在本例中,检查该行中的所有值是否都等于零

def all_zero(row):
    if all([v==0 for v in row.values]):
        return True
    else:
        return False
定义测试函数后,沿轴1将其应用于数据帧(逐行):

它返回一个布尔序列,显示每行的测试是通过还是失败

0    False
1    False
2    False
3    False
4    False
5    False
6    False
7     True
dtype: bool
您可以使用此布尔序列作为索引级别选择器(或某些人称之为掩码),仅检索返回
True
的行

df[df.apply(all_zero, axis=1)]
指数 A. B C 7. 0 0 0
首先,我们将设置一些要处理的示例数据-这里有3列,但在您的示例中可能更多,也可能更少

import pandas as pd

data = [
    {"A": 1, "B": 1, "C" : 1},
    {"A": 0, "B": 1, "C" : 1},
    {"A": 1, "B": 0, "C" : 1},
    {"A": 0, "B": 0, "C" : 1},
    {"A": 1, "B": 1, "C" : 0},
    {"A": 0, "B": 1, "C" : 0},
    {"A": 1, "B": 0, "C" : 0},
    {"A": 0, "B": 0, "C" : 0}
    
]

df = pd.DataFrame(data)
并定义一个函数,该函数接受数据帧中的一行,并对其执行一些测试——在本例中,检查该行中的所有值是否都等于零

def all_zero(row):
    if all([v==0 for v in row.values]):
        return True
    else:
        return False
定义测试函数后,沿轴1将其应用于数据帧(逐行):

它返回一个布尔序列,显示每行的测试是通过还是失败

0    False
1    False
2    False
3    False
4    False
5    False
6    False
7     True
dtype: bool
您可以使用此布尔序列作为索引级别选择器(或某些人称之为掩码),仅检索返回
True
的行

df[df.apply(all_zero, axis=1)]
指数 A. B C 7. 0 0 0
这回答了你的问题吗?或多或少,我需要所有列都有这个值,而不仅仅是一个特定的列。您可以尝试
df.loc[(df==0)。all(axis=1)]
。这是否回答了您的问题?或多或少,我需要所有列都有这个值,而不仅仅是一个特定的列。您可以尝试
df.loc[(df==0).all(axis=1)]