У меня есть датафрейм, в котором есть следующие столбцы:
дата - Продавец - Количество
пример кода:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
testframe = pd.DataFrame({'date': ['01/02/2019', '01/02/2019', '01/02/2019',
'02/02/2019','02/02/2019','03/02/2019'],
'Seller': ['John', 'Ada', 'John', 'Ada', 'Ada', 'Ada'], 'Ammount':
[150,200,158,200,60,90]})
Я агрегировал данные так:
agg=pd.DataFrame(base.groupby(['date','Seller'])['Ammount'].sum())
agg.reset_index(inplace=True)
Затем я попытался, используя FacetGrid, отобразить Ammount по дням на одного Продавца (каждая строка из FacetGrid была бы строкой). Вот так:
g=sns.FacetGrid(data=agg,row='Seller')
g.map(sns.lineplot,'Ammount','date')
Но я получаю следующую ошибку:
Нет числовых типов для агрегирования
Был еще один пост в Stackoverflow, но он не совсем подсказал мне, что делать, чтобы решить.
Я проверил переменные из пакетов, и он вернул numpy.int64. Я попытался преобразовать их в float и int, используя .astype()
, но тоже не сработало.
Среда: ноутбук Jupyter
Может кто-нибудь пролить свет на это?
Заранее спасибо