我对此感到困惑。我想从下面得到一个name
的列表,这是groupby().mean()
应用Panda DataFrame的结果。最具体地说,我想要["John", "Mary", "Suzan", "Eric"]
。
score
name
John 85.0
Mary 86.5
Suzan 90.0
Eric 100.0
上面的结果是means
,它来自于以下内容:
data = pandas.DataFrame({"name": names, "score": scores})
means = data.groupby("name").mean()
由于我现在有means
,我想从'means' - ["John", "Mary", "Suzan", "Eric"]
中获得一个名称列表。这是可以实现的吗?
如果有索引,只需查看索引即可。如果您有一个MultiIndex,请参阅@jezrael用get_level_values
给出的答案。
means.index.tolist()
您可以使用:
print (list(means.index))
['John', 'Mary', 'Suzan', 'Eric']
另一个更好的解决方案是使用Series.unique
并省略groupby
:
print (data.name.unique())
['John' 'Mary' 'Suzan' 'Eric']