因此,我正在尝试优化分类功能。我只有一个数据框,但是需要同时处理两列,而不是一列然后再处理另一列。基本上,需要比较第一列的记录[0]与记录[0]的第二列。根据分类规则,然后它将二进制代码输出到新列。我现在所使用的是利用.items来遍历整个系列,显然效率不高。我只是无法弄清楚如何使用.apply或类似的pandas方法将两列用作变量。
def series_compare(s1, s2):
tmp= []
for index, values in s1.items():
if (values == 0) | (s2[index] == 0):
tmp.append(0)
elif (values == 1) | (values == 2):
tmp.append(1)
elif (values == 3) & (s2[index] == 4):
tmp.append(0)
elif (values == 3) & (s2[index] != 4):
tmp.append(1)
elif (values == 4) & (s2[index] == 4):
tmp.append(0)
elif (values == 4) & (s2[index] != 4):
tmp.append(-99999)
else:
tmp.append(10)
return(pd.Series(tmp))