我正在尝试从groupby()函数结果中获取单个数据,并将它们分配给变量,但是我不知道如何:例如:
df
Names Grades Ages
0 Bob 4 20
1 Jessica 3 21
3 Bob 3 22
4 John 2 20
5 Bob 4 24
print(df.groupby('Names').Ages.mean())
Names
Bob 33
Jessica 21
John 20
现在,我想将Bob的平均值转化为标量变量,例如:Bob_mean = 33
请帮助。
谢谢。
您可以尝试:
import pandas as pd
df = pd.DataFrame([['Bob', 4, 20],
['Jessica', 3, 21],
['Bob', 3, 22],
['John', 2, 20],
['Bob', 4, 24]], columns=['Names', 'Grades', 'Ages'])
bob_mean = df.groupby(by = 'Names').Ages.mean()['Bob']
您有两个选择。
只需修改您的代码以选择索引'Bob':
df.groupby('Names').Ages.mean()['Bob']
但是groupby操作会变得非常缓慢,而我们可以使用df.loc:
df.loc[df['Names']=='Bob'].Ages.mean()