Предполагая ваш фрейм данных:
import pandas as pd
df = pd.DataFrame({'product':['pen','apple','book','cup','pen','apple','book','cup','pen','apple','book','cup',],
'price':[1,2,3,4,0.8,2.2,3.1,3.5,.6,2.6,2.1,4.3],
'date':['20190101','20190101','20190101','20190101','20190102','20190102','20190102','20190102','20190103','20190103','20190103','20190103']})
Вы можете использовать pandas.DataFrame.groupby
для группировки продуктов и matplotlib
для построения графика цен для каждого продукта:
import matplotlib.pyplot as plt
for i in df.groupby('product'):
plt.plot(i[1].date,i[1].price,'-o',label=i[0])
plt.legend(loc='upper center',
bbox_to_anchor=(0.5, -0.2),
fancybox=True,
shadow=True,
ncol=4)
plt.xlabel('date')
plt.ylabel('price')
plt.show()