天天看点

pandas练习题:统计某列某类数据总数及对应其他列的数据的另类方法

假设有这个表格,要求统计合同类的总数和对应的总金额。一般我们会使用正则来筛选出来,那有别的方法吗?

我们可以使用str.contains来检查是否含有“合同”:

       名称    金额    年份

0    购房合同   100  2018

1    施工合同  1000  2017

2      出生   500  2016

3      声明    90  2015

4      委托    90  2014

5  解除合同协议    75  2013

6      死亡   600  2018

import pandas as pd
from pandas import Series,DataFrame

data={'名称':['购房合同','施工合同','出生','声明','委托','解除合同协议','死亡'],
      '金额':[100,1000,500,90,90,75,600],
      '年份':[2018,2017,2016,2015,2014,2013,2018]}
df = DataFrame(data)
print(df)
cont =Series(df['名称'])
sum=Series(df['金额'])
cont_sum=(cont.str.contains('合同')).sum()
sums=(sum[cont.str.contains('合同')]).sum()
print('合同类的总数是:',cont_sum)
print('合同类的总金额是:',sums)      

合同类的总数是: 3

合同类的总金额是: 1175

继续阅读