Py学习  »  Python

Python计算两列的值_计数并使用groupby

Rory • 3 年前 • 1040 次点击  

我有一个数据帧:

data = {'label': ['cat','dog','dog','cat','cat'],
      'breeds': [ 'bengal','shar pei','pug','maine coon','maine coon'],
      'nicknames':[['Loki','Loki' ],['Max'],['Toby','Zeus ','Toby'],['Marty'],['Erin ','Erin']],
       'eye color':[['blue','green'],['green'],['brown','brown','brown'],['blue'],['green','brown']]
                   

输出:

label    breeds    nicknames            eye color
0   cat  bengal     [Loki,Loki]      [blue, green]
1   dog  shar pei   [Max]            [green]
2   dog  pug        [Toby,Zeus,Toby] [brown, brown, brown]
3   cat  maine coon [Marty]          [blue]
4   cat  maine coon [Erin,Erin]      [green, brown]

我想应用groupby:frame['label','brides'],并计算值_计数 (独特价值)昵称和眼睛颜色, 但是在不同的列中输出它们 :“昵称计数”,“眼睛计数” 这段代码只在一列中输出,如何单独输出?

 frame2=frame.groupby(['label','breeds'])['nicknames','eye color'].apply(lambda x: x.astype('str').value_counts().to_dict())
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/131194
 
1040 次点击  
文章 [ 1 ]  |  最新文章 3 年前