Python Pandas,将groupby()组标签设置为新数据框中的索引

Okechukwu Ossai

我是python编程的初学者,试图弄清楚groupby操作中的组标签如何用作新数据帧的索引。例如,

df = pd.DataFrame({'Country': ['USA', 'USA', 'UK', 'China', 'Canada', 'Australia', 'UK', 'China', 'USA'],
            'Year': [1979, 1983, 1987, 1991, 1995, 1999, 2003, 2007, 2011],
            'Medals': [52, 30, 25, 41, 19, 17, 9, 14, 12]})

df:
         Country  Medals  Year
    0        USA      52  1979
    1        USA      30  1983
    2         UK      25  1987
    3      China      41  1991
    4     Canada      19  1995
    5  Australia      17  1999
    6         UK       9  2003
    7      China      14  2007
    8        USA      12  2011

 c1 = df.groupby(df['Country'], as_index=True, sort=False, group_keys=True).size()

c1:
Country
USA          3
UK           2
China        2
Canada       1
Australia    1

我想使用上述c1结果完全以该格式创建一个新数据框,但我无法做到这一点。以下是我得到的:

d1 = pd.DataFrame(np.array(c1), columns=['Frequency'])
d1:
   Frequency
0          3
1          2
2          2
3          1
4          1

我希望组标签作为索引,而不是默认的0、1、2、3和4。这正是我想要的:

Desired Output:
            Frequency
USA             3
UK              2
China           2
Canada          1
Australia       1

请问我该如何实现?我想如果我用国家/地区创建标签并将其指定为索引,则可能会起作用。但是,我正在使用的原始数据有很多行,以至于我无法创建标签列表。任何想法将不胜感激。

乔什·朗姆布

编辑:让我们来看看你如何喜欢这个!

c1 = pd.DataFrame(c1.values, index=c1.index.values, columns=['Frequency'])
print(c1)

    Frequency
USA         3
UK          2
China       2
Canada      1
Australia   1

c1.values(就我们的目的而言)大致等效,np.array(c1)但避免了导入numpy。

原始回答(不太有效,请留给后代):您可能正在寻找该set_index方法

它应该像这样工作:

c1 = df.groupby(df['Country'], as_index=True, sort=False, group_keys=True).size()

c2 = c1.set_index(['Country'])

让我知道这是否适合您!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python Pandas:如何将“数据框列”值设置为X轴标签

在Python 3中将JSON解析为pandas数据框

Python(Pandas):将数据框存储在具有多索引的hdf5中

python pandas:在多索引数据框中重命名单列标签

遍历组(Python pandas数据框)

python pandas中的嵌套数据框/索引

Python:在Pandas数据框中删除重复的索引

Python数据框组标签

将单索引数据框添加到多索引数据框,Pandas,Python

Python2.7:根据groupby中的条件从数据框中筛选出组

将pandas数据框中的每个组的多列折叠为一组的python方法是什么?

Python,Pandas从数据框创建新数据

Python Pandas:将ylim值设置为我的数据透视表中的最大值

将Python字典重塑为Pandas数据框

使用Python将索引设置为csv文件中重复行值的组

将xml解析为python中的pandas数据框

如何将具有多个聚合字段和多个索引字段的pandas数据框旋转到python中的sumIfs?

Python,Pandas:将数据框中的单元格分配给组

Python Pandas:转换多索引数据框

Python-Pandas数据框-将相交索引处的标志设置为1,其余标志设置为0

返回groupby列作为Python Pandas中的新数据框

Python Pandas更改索引数据框

Python Pandas:获取数据帧中某个值的索引标签

重新索引 Pandas 数据框 - python

如何在python pandas数据框中隐藏轴标签?

Python Pandas:将组的特定值分配给数据框中该组的所有条目

python pandas通过计算将组添加回数据框

Python:将字典键值设置为数据框的列名

将索引设置为日期时间:pandas、python