我想用他们的手段来代替体育场出勤率的空值(法语中的富裕)。因此,我这样做是为了得到季节/团队的平均值:
test = data.groupby(['season','domicile']).agg({'affluence':'mean'})
这段代码可以工作并提供我想要的(数据是dataframe):
affluence
season domicile
1999 AS Monaco 10258.647059
AS Saint-Etienne 27583.375000
FC Nantes 28334.705882
Girondins de Bordeaux 30084.941176
Montpellier Hérault SC 13869.312500
Olympique Lyonnais 35453.941176
Olympique de Marseille 51686.176471
Paris Saint-Germain 42792.647059
RC Strasbourg Alsace 19845.058824
Stade Rennais FC 13196.812500
2000 AS Monaco 8917.937500
AS Saint-Etienne 26508.750000
EA Guingamp 13056.058824
FC Nantes 31913.235294
Girondins de Bordeaux 29371.588235
LOSC 16793.411765
Olympique Lyonnais 34564.529412
Olympique de Marseille 50755.176471
Paris Saint-Germain 42716.823529
RC Strasbourg Alsace 13664.875000
Stade Rennais FC 19264.062500
Toulouse FC 19926.294118
....
所以现在我想对赛季和球队做一个调整。例如测试[测试季节== 1999]. 然而,这不起作用,因为我只有一个专栏'富裕'。它给了我一个错误:
'DataFrame' object has no attribute 'season'
我试过:
test = data[['season','domicile','affluence']].groupby(['season','domicile']).agg({'affluence':'mean'})
结果如上所述。所以我想把这个赛季和球队联系起来,但是怎么联系呢?在那之后我该怎么访问它?你知道吗
谢谢
groupby操作之后,
groupby
-操作中引用的列将成为索引。您可以通过df.index
(在您的例子中是test.index
)访问索引。你知道吗在本例中,您创建了一个多索引。有关如何使用多索引处理数据帧的详细说明,请参见pandas documentation。你知道吗
但是,您可以使用以下方法重新创建标准数据帧:
做
test = data.groupby(['season','domicile'], as_index=False).agg({'affluence':'mean'})
应该是你想要做的事情的诀窍。你知道吗当您不想处理多索引时,参数
as_index=False
特别有用。你知道吗示例:
相关问题 更多 >
编程相关推荐