Вы можете использовать numpy напрямую или воспользоваться встроенным групповым методом pandas.
Numpy Реализация
import numpy as np
a1 = np.array([[2, 'x'], [3, 'y'], [4 ,'z']])
a2 = np.array([[10, 'x'] ,[6 ,'z']])
# Stack the two arrays together
a = np.vstack([a1,a2])
# Define "groups"
grp = np.unique(a[:,1])
# Groupby each group in grp and sum the other column
np.array([[a[a[:,1]==g][:,0].astype(float).sum(), g] for g in grp])
array([['12.0', 'x'],
['3.0', 'y'],
['10.0', 'z']], dtype='<U32')
Pandas Реализация
import pandas as pd
# Convert a into a pandas DataFrame
df = pd.DataFrame(a, columns=list('ab'))
# Cast first column type
df['a'] = df['a'].astype(int)
# Use groupby sum
df.groupby('b').sum().reset_index()[['a','b']].to_numpy()
array([[12, 'x'],
[3, 'y'],
[10, 'z']], dtype=object)