#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. Вот упражнение, которое я люблю делать: нарисуйте от руки график, который вы хотели бы видеть. Это, как правило, приводит к большому пониманию процесса подготовки данных