使用pandas python获取频率计数

时间:2016-05-09 17:48:17

标签: python pandas

我有一个看起来像这样的pandas数据框

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的任何其他数据处理库来指导我吗?

由于

1 个答案:

答案 0 :(得分:2)

首先使用actoraggfunc=lenstr.splitstack作为原始列。然后joinpandaspivot_tablereset_index0.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 中的新内容):

header('Content-Type: application/json');
echo json_encode($bsnContactSuccess);