Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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中为数据帧中的每一行迭代一些if-else条件_Python_Python 3.x - Fatal编程技术网

我必须在python中为数据帧中的每一行迭代一些if-else条件

我必须在python中为数据帧中的每一行迭代一些if-else条件,python,python-3.x,Python,Python 3.x,我必须为python中的dataframe中的每一行迭代一些if-else条件 如果第1行的第一个条件满足,它将通过为该行添加一列并退出来回答“是”或“否” 但是如果对于行2,在满足其他条件的情况下,不应覆盖第一行的“是”或“否” 我希望它被保留,或者我们可以说在第二次迭代中,它应该只检查row2的所有if-else条件,然后检查row3等等 准确地说,只检查所有条件下的一行,如果条件满足,它将通过为该行添加一列并退出来给出输出 我是python新手,我写的代码不起作用 我已经写了下面的代码。请

我必须为
python
中的
dataframe
中的每一行迭代一些
if-else
条件

如果
第1行的第一个条件满足
,它将通过为该行添加一列并退出来回答“是”或“否”

但是如果对于
行2
,在满足其他条件的情况下,不应覆盖第一行的“是”或“否”

我希望它被保留,或者我们可以说在第二次迭代中,它应该只检查
row2
的所有if-else条件,然后检查
row3
等等

准确地说,只检查所有条件下的一行,如果条件满足,它将通过为该行添加一列并退出来给出输出

我是python新手,我写的代码不起作用

我已经写了下面的代码。请帮帮我

for index, row in data.iterrows():

if row['Resolution Summary'].str.contains("\\bHardware failure\\b", case = False) :
    df['flag'] = np.where(data['Resolution Summary'].str.contains("\\bHardware failure\\b", case = False), 'yes','')

    elif row['Resolution Summary'].str.contains("\\brouter\\b", case = False):
        df['flag'] = np.where(data['Resolution Summary'].str.contains("\\brouter\\b", case = False), 'yes','')

您不需要显式地迭代行。事实上,您不需要多次计算相同的布尔值

如果您希望在给定条件的情况下对特定任务进行优先级排序,您可以明确地这样做。这里有一种方法可以使用
numpy.where
;我们用
~
表示“否定”

当然,在这种非常简单的情况下,您可以只使用一个条件:

df['flat'] = np.where(mask1 | mask2, 'yes', '')

根据问题标题,缺少所需的输出和输入,我不清楚你在问什么。另外,请阅读关于“如何提问”的文档。标点符号和格式真的很重要。为什么有人会浪费这么多的时间来搞清楚你想问什么,而你却不努力进行清楚的沟通,或者不尊重志愿者的时间。我们还可以考虑很多其他问题。我了解你对社区的新认识。欢迎请
编辑您的问题,以增加您获得及时、良好答案的机会。
df['flat'] = np.where(mask1 | mask2, 'yes', '')