Python pandas:按条件累积数据框行

时间:2015-02-19 08:42:33

标签: python pandas

我有一个包含以下格式的2列的数据框:

Anna         15
Mary         14
Elizabeth    11
Margaret     10
Alice         6
Bertha        5
Helen         5
Emily         4
Maria         4
Marie         4
Catherine     4
Marion        4
Ellen         4
Florence      4
Augusta       4
...
Juliette      1
Mara          1
Elise         1
Alfrida       1
Nourelain     1
Margaretta    1
Manca         1
Aloisia       1
Hulda         1
Clear         1
Wendla        1
Ellis         1
Lulu          1
Juliet        1
Gertrude      1

如何使用value < 5累积行以获得类似

的行

安娜15 玛丽14 伊丽莎白11 玛格丽特10 爱丽丝6 伯莎5 海伦5 其他50

1 个答案:

答案 0 :(得分:1)

这是一种方式:

# create some random data
df =pd.DataFrame({'letter': list('qwertyuiopasdfghjklzxcvbnm'),'value': np.random.randint(1,15,26)})

定义一个函数来替换其中值&lt; 5与其他:

def f(x):
    if x.value <5:
        l= 'other'
    else:
        l =x.letter
    return l

将该函数应用于数据框:

df['letter'] =df.apply(f,axis=1)

按新信函栏和总和分组:

df.groupby('letter').sum()