如何从 pandas 的groupby对象中选择列? [英] How to select columns from groupby object in pandas?

查看:219
本文介绍了如何从 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆