使用np.bincount()和np.argmax()函数来实现。
np.bincount()可以把数组中出现的每个数字,当做index,数字出现的次数当做value来表示。
np.argmax()可以返回数组中最大值的index。
所以经过变换,可以得到出现次数的最大值。
feature1 = pd.DataFrame({'id':[1, 2, 3, 4, 4, 6, 1, 2, 3], 'item1':[1, 2, 3, 4, 5, 6, 1, 2, 3], 'item2':[1, 2, 3, 4, 5, 6, 2, 7, 3]})
feature2 = pd.DataFrame({'id':[1, 3, 7, 4, 4, 6, 1, 2, 3], 'item1':[1, 2, 3, 4, 5, 6, 1, 2, 3], 'item2':[1, 2, 3, 4, 5, 6, 2, 7, 3]})
feature3 = np.concatenate((feature1, feature2),axis = 1)
print(feature3)
for line in feature3:
print(np.argmax(np.bincount(line)))