numpy 统计数组每一行出现次数最多的数字

使用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)))


numpy 统计数组每一行出现次数最多的数字_第1张图片

你可能感兴趣的:(Python)