【发布时间】:2019-06-07 16:19:30
【问题描述】:
我有一个数据框,其中包含以下列:
Date - Seller - Amount
代码示例:
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'], 'Amount':
[150,200,158,200,60,90]})
我这样汇总数据:
agg=pd.DataFrame(base.groupby(['date','Seller'])['Amount'].sum())
agg.reset_index(inplace=True)
然后我尝试使用 FacetGrid 显示每个卖家的天数(FacetGrid 中的每一行都是一行)。像这样:
g=sns.FacetGrid(data=agg,row='Seller')
g.map(sns.lineplot, 'Amount', 'date')
但我收到以下错误:
没有要聚合的数字类型
在 Stackoverflow 上有另一篇文章,但并没有完全告诉我如何解决问题。
我检查了包中的变量,它返回了 numpy.int64。我尝试使用 .astype() 将它们转换为 float 和 int,但也没有用。
环境:Jupyter Notebook
有人可以解释一下吗?
提前致谢
【问题讨论】:
-
当询问代码中的不良行为时,请提供minimal reproducible example。
-
对不起!不知道这是一个好习惯。我将编辑问题
标签: python seaborn facet-grid