from plotly.subplots import make_subplots
fig = make_subplots(rows=3, cols=1)
for i, usr in enumerate(users.index[:3]):
pop_prod = df[df['UserId'] == usr][['ProductId', 'Rating']]
rate_ = pop_prod[['ProductId']].groupby(by=['ProductId'])\
.value_counts()\
.sort_values(ascending=False)
fig.add_trace(go.Bar(x=rate_.index[:10].astype(object),
y=rate_.values[:10], showlegend=False), row=i+1, col=1)
fig.update_yaxes(
title=dict(
text=f"Costumer {usr}",
font=dict(size=9)),
col=1, row=i+1)
fig.update_layout(title="Product count per customer",
height = 500)
fig.show()