如何从 pandas 的groupby对象中选择列? [英] How to select columns from groupby object in pandas?
本文介绍了如何从 pandas 的groupby对象中选择列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我按以下两列对数据框进行了分组
I grouped my dataframe by the two columns below
df = pd.DataFrame({'a': [1, 1, 3],
'b': [4.0, 5.5, 6.0],
'c': [7L, 8L, 9L],
'name': ['hello', 'hello', 'foo']})
df.groupby(['a', 'name']).median()
结果是:
b c
a name
1 hello 4.75 7.5
3 foo 6.00 9.0
如何访问所得中位数(在本例中为hello, foo
)的name
字段?失败:
How can I access the name
field of the resulting median (in this case hello, foo
)? This fails:
df.groupby(['a', 'name']).median().name
推荐答案
您需要获取索引值,它们不是列.在这种情况下,级别1
You need to get the index values, they are not columns. In this case level 1
df.groupby(["a", "name"]).median().index.get_level_values(1)
Out[2]:
Index([u'hello', u'foo'], dtype=object)
您还可以传递索引名称
df.groupby(["a", "name"]).median().index.get_level_values('name')
因为这比传递整数值更直观.
as this will be more intuitive than passing integer values.
您可以通过调用tolist()
df.groupby(["a", "name"]).median().index.get_level_values(1).tolist()
Out[5]:
['hello', 'foo']
这篇关于如何从 pandas 的groupby对象中选择列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文