Существует также возможность делать это без панд, только с помощью numpy. Начиная с массива items
, содержащего информацию о столбце Item и sales
для продажи, код будет выглядеть следующим образом:
u, f = np.unique(items, return_inverse=True) # returns unique array of occurences and the indices to retrieve the original items array.
# i.e. u, f = np.unique([1,2,3,1,1,2,1], return_inverse=True) returns
# u: [1,2,3]
# f: [0 1 2 0 0 1 0] such that u[f]==[1,2,3,1,1,2,1]
imgs = np.bincount(f, sales)
inds = np.argsort(np.char.lstrip(u,'Item').astype(int))
plt.plot(np.arange(len(u)),imgs[inds])
plt.xticks(np.arange(len(u)),u[inds])
Примечание. Предполагается, что входные массивы имеют тип dpper с проппером. Если это не так, то они должны быть преобразованы в правильный тип d с помощью .astype()