Python iterrows()有时有效,有时无效';T

Python iterrows()有时有效,有时无效';T,python,python-3.x,pandas,Python,Python 3.x,Pandas,也许我正在慢慢失去理智,但我在过去让iterrows()工作,但现在我尝试使用它编辑行值,有些行确实被更改,而另一些行则没有。 以下工作(产生了称为“1MM”、“3MM”和“5MM”的新列,并正确标记): 但这不起作用(一些客户公司的名称没有改变): 第二个数据帧如下所示: pd.DataFrame({'Client Firm':['Cetera Financial Services','LPL Financial Advisors','Raymond James Advisors'],'AU

也许我正在慢慢失去理智,但我在过去让iterrows()工作,但现在我尝试使用它编辑行值,有些行确实被更改,而另一些行则没有。

以下工作(产生了称为“1MM”、“3MM”和“5MM”的新列,并正确标记):

但这不起作用(一些客户公司的名称没有改变):

第二个数据帧如下所示:

pd.DataFrame({'Client Firm':['Cetera Financial Services','LPL Financial Advisors','Raymond James Advisors'],'AUM':['50','30','40']})

请不要将代码/错误/数据帧发布为图像,将它们发布为与
iterrows
无关的文本。您应该使用类似
df.col1.str.extract
的内容。你真的应该发布一个示例DataFrame,因为你一直在为那些单元格重新分配值。。。绝对不应该这样做。发布示例输入/输出,以便我们可以帮助您输出
for i, row in ff.iterrows():
    ff.at[i,'new'] = 'Raymond James' if re.search('Raymond James',row["Client Firm"]) else row['Client Firm']
    ff.at[i,'new'] = 'Cetera' if re.search('Cetera',row['Client Firm']) else row['Client Firm']
    ff.at[i,'new'] = 'LPL' if re.search('LPL',row['Client Firm']) else row['Client Firm']
    ff.at[i,'new'] = 'Wells Fargo' if re.search('Wells Fargo',row['Client Firm']) else row['Client Firm']
pd.DataFrame({'Client Firm':['Cetera Financial Services','LPL Financial Advisors','Raymond James Advisors'],'AUM':['50','30','40']})