使用python获取频率计数

2024-09-19 23:40:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个熊猫数据框,看起来像这样

genrename   subgenre    subgenrename    actor
Songs       208             Dance    Aamir Khan
Songs       208             Dance    Aamir Khan
Songs       211            Romantic  Aamir Khan
Movies       1             Romantic  Aamir Khan
Songs       208             Dance    Aamir Khan
Clips        15             Scenes   Aamir Khan
Clips        15             Scenes   Aamir Khan,Salman
Clips        12            Romantic  Salman

我试图获取的输出数据帧类似于

Actor_Name songs    clips   movies
 AmirKhan   4          2    1
SalmanKhan  0          2    0

有人能给我介绍一下pandas或python的其他数据处理库吗?你知道吗

谢谢


Tags: 数据moviesactorscenesclipssongskhandance
1条回答
网友
1楼 · 发布于 2024-09-19 23:40:59

首先将^{}与列actor^{}^{}一起使用,将其转换为original。然后^{}aggfunc=len^{}^{}(在pandas0.18.0中新增):

s = df.actor.str.split(',', expand=True).stack()
s.index = s.index.droplevel(-1) 
s.name = 'actor1' 
df = df.join(s)


print df.pivot_table(index='actor1', 
                     columns='genrename', 
                     aggfunc=len, 
                     values='subgenre',
                     fill_value=0).reset_index().rename_axis(None, axis=1)

       actor1  Clips  Movies  Songs
0  Aamir Khan      2       1      4
1      Salman      2       0      0

相关问题 更多 >