我想得到猎鹰和鹦鹉的平均值,并插入新的“平均值”栏。两只猎鹰的平均值应该相同,鹦鹉的平均值也应该相同
sry我试着用谷歌搜索这类东西,阅读文档,但仍然无法找到答案:(
df = pd.DataFrame({'Animal': ['Falcon', 'Falcon','Parrot', 'Parrot'], 'Max
Speed': [380., 370., 24., 26.]})
print (df)
df['Mean'] = df.groupby(['Animal']).mean()
print (df)
Animal Max Speed
0 Falcon 380.0
1 Falcon 370.0
2 Parrot 24.0
3 Parrot 26.0
Animal Max Speed Mean
0 Falcon 380.0 NaN
1 Falcon 370.0 NaN
2 Parrot 24.0 NaN
3 Parrot 26.0 NaN
您应该合并在groupby+mean之后创建的数据帧,因为行数不完全匹配:
以下是我的答案:
基本上,您可以精确地确定要按哪个列进行分组。然后选择要对其执行操作的列,这里是MaxSpeed。然后,我们将DataFrameGroupby对象转换为dataframe,并指定要创建的新列的名称(groupby操作的结果)。这里的
reset_index()
没有直接使用,你可以把它取下来。但是,在使用多索引的情况下,为了确保我们将分组的列作为列而不是索引,需要将其重置为具有适当的数据帧我想你在寻找:
这里可能还值得一看变量命名约定:https://www.python.org/dev/peps/pep-0008/
相关问题 更多 >
编程相关推荐