下面的代码是我所拥有的,但它抛出了一段代码,说明没有要聚合的数值类型。代码:
import pandas
import numpy as np
link = 'https://raw.githubusercontent.com/dvanderelst-python-class/python-class/spring2021/assignment_data/young_people_survey.csv'
data = pandas.read_csv(link,index_col=0)
data.groupby(['Age','Smoking']).agg(np.mean)
table = pandas.pivot_table(data, index= ['Age'], columns=None, values=['Smoking'],
aggfunc={'Smoking':[np.mean]},fill_value=0)我正在尝试获得一个如下所示的表:表应该是什么样子的示例1:https://i.stack.imgur.com/4Li38.png
我在pandas中运行时得到的错误消息是:Error message
发布于 2021-03-24 03:57:31
在groupby中,您说明了要分组的列(年龄和吸烟),但没有说明要计算平均值的列。当它试图用“never smoked”值计算“Smoking”列的平均值时,“former”表示这不是一个数字列。
如果您将groupby更改为
data.groupby(['Age','Smoking']).agg({'Height': 'mean', 'Weight': 'mean'})您将获得每个年龄和吸烟类别组合的平均身高和体重
发布于 2021-03-24 04:09:37
import pandas
import numpy as np
link = 'https://raw.githubusercontent.com/dvanderelst-python-class/python-class/spring2021/assignment_data/young_people_survey.csv'
data = pandas.read_csv(link,index_col=0)
data['Age'] = data['Age'].astype(float)
data.groupby(['Age','Smoking']).agg(np.mean)
table = pandas.pivot_table(data, index= ['Age'])这将给出一个如下表

https://stackoverflow.com/questions/66770281
复制相似问题