我必须为dataframe
中的每一行迭代一些if-else
条件。在
如果row1
满足第一个条件,它将通过为该行再添加一列来回答“yes”或“no”,然后退出。在
但是如果对于row 2
,在满足另一个条件的情况下,它不应该覆盖第一行的“yes”或“no”。在
我想保留它,或者我们可以说在第二次迭代中,它应该只检查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
的方法;我们使用~
来表示“否定”。在当然,在这种非常小的情况下,您只需使用一个条件:
^{pr2}$相关问题 更多 >
编程相关推荐