Вывод отдельного количества по дате в Python

#python #pandas

#python #pandas

Вопрос:

У меня есть набор данных, в котором даты (ГГГГ-ММ-ДД) соответствуют идентификационным кодам, каждый из которых соответствует продукту. Дата определяет, когда конкретный клиент (заданный кодом клиента) приобрел продукт. Я пытаюсь определить, сколько клиентов купили данный продукт во времени с помощью линейного графика.

До сих пор я преобразовывал даты в datetime

df['Dates'] = pd.to_datetime(df['Dates'], format = '%Y-%m-%d')

Взято отчетное количество рассматриваемого кода продукта — это должно соответствовать количеству людей, которые его купили

Product_A = df.loc[df['Product_Code'] == 'ABCD'].nunique()[0]

и попытался построить Product_A по дате

plt.plot(df.Dates, Product_A)

Когда я пытаюсь это сделать, я получаю сообщение об ошибке:

Ошибка значения: x и y должны иметь одинаковое первое измерение, но иметь формы (28356274,) и (1,)

Очевидно, мне нужно каким-то образом убедиться, что мои оси x и y имеют одинаковый размер, но я не уверен, как это сделать. Любая помощь очень ценится!

Комментарии:

1. print(Product_A) что вы видите? (это скаляр)

2. Правильно, это дает общее количество раз, когда Product_A отображается в данных. Обязательно ли это должен быть массив? Могу ли я просто сделать plt.plot(df.Dates, (np.arrray(Product_A))

3. df['Dates'] это каждая дата в вашем фрейме данных. Куда пойдет этот один момент во времени?

4. Вот упражнение, которое я люблю делать: нарисуйте от руки график, который вы хотели бы видеть. Это, как правило, приводит к большому пониманию процесса подготовки данных