我在 pandas 中有一个循环,速度非常慢(十多分钟)。我试图用矢量化函数替换它,但不知道该使用什么。有多个记录具有不同的家庭号码但具有相同的关系组号码,如果记录的家庭号码与关系组号码相同,那么我想将该记录的官员号码和姓名用于具有该关系组的所有记录号码(包括家庭号码不同的情况)。参见下面的代码:
rg['RG Officer Number'] = pd.np.nan
rg['RG Officer Name'] = pd.np.nan
for index, row in rg.iterrows():
if row['Relationship Group'] == row['Household Number']:
mask = rg['Relationship Group'] == row['Relationship Group']
rg.loc[mask, 'RG Officer Number'] = row['Household Primary Officer Number']
rg.loc[mask, 'RG Officer Name'] = row['Household Primary Officer Name']
我尝试了以下操作,但出现错误(无法使用单个 bool 来索引 setitem)。我想我完全偏离了轨道。也许这对于向量化函数来说是不可能的,但似乎不应该如此。
mask = row['Relationship Group'] == row['Household Number']
rg.loc[mask, 'RG Officer Number'] = rg.loc['Household Primary Officer Number']
您提供的任何帮助将不胜感激。
白猪掌柜的
相关分类