Python 没有要聚合的数字类型
我有一个数据框,其中有以下列:Python 没有要聚合的数字类型,python,seaborn,facet-grid,Python,Seaborn,Facet Grid,我有一个数据框,其中有以下列: 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/
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笔记本电脑
有人能解释一下吗
提前谢谢你可能是说这样的话:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
base = 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]})
base["date"] = pd.to_datetime(base["date"])
agg=pd.DataFrame(base.groupby(['date','Seller'])['Amount'].sum())
agg.reset_index(inplace=True)
g=sns.FacetGrid(data=agg, row='Seller')
g.map(sns.lineplot, 'date', 'Amount')
plt.show()
请注意,John的情节是空的,因为他只在一天内卖出了一些东西,并且不能从一点到它自己划一条线。当询问代码中不希望出现的行为时,请提供一条线。对不起!我不知道这是个好习惯。我将编辑问题我忘了使用pd.to_datetime!非常感谢你的帮助