仿门户网站源码,衍艺网站建设,微信公众号平台官网首页,wordpress jarida1、按条件筛选#xff08;与#xff0c;或#xff0c;非#xff09; 为数据筛选#xff0c;使用与#xff0c;或#xff0c;非三个条件配合大于#xff0c;小于和等于对数据进行筛选#xff0c;并进行计数和求和。与 excel 中的筛选功能和 countifs 和 sumifs 功能相似…1、按条件筛选与或非 为数据筛选使用与或非三个条件配合大于小于和等于对数据进行筛选并进行计数和求和。与 excel 中的筛选功能和 countifs 和 sumifs 功能相似。 Excel 数据目录下提供了“筛选”功能用于对数据表按不同的条件进行筛选。Python 中使用 loc 函数配合筛选条件来完成筛选功能。配合 sum 和 count 函数还能实现 excel 中 sumif 和 countif 函数的功能。
1使用“与”条件进行筛选 条件是年龄大于 25 岁并且城市为 beijing。筛选后只有一条数据符合要求。 1#使用“与”条件进行筛选 2df_inner.loc[(df_inner[‘age’] 25) (df_inner[‘city’] ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]]
2使用“或”条件进行筛选 年龄大于 25 岁或城市为 beijing。筛选后有 6 条数据符合要求。 1#使用“或”条件筛选 2df_inner.loc[(df_inner[‘age’] 25) | (df_inner[‘city’] ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]].sort 3([‘age’])
3求和 在前面的代码后增加 price 字段以及 sum 函数按筛选后的结果将 price 字段值进行求和相当于 excel 中 sumifs 的功能。 1 #对筛选后的数据按 price 字段进行求和 2 df_inner.loc[(df_inner[‘age’] 25) | (df_inner[‘city’] ‘beijing’), 3 [‘id’,‘city’,‘age’,‘category’,‘gender’,‘price’]].sort([‘age’]).price.sum()
4使用“非”条件进行筛选 城市不等于 beijing。符合条件的数据有 4 条。将筛选结果按 id 列进行排序。 1#使用“非”条件进行筛选 2df_inner.loc[(df_inner[‘city’] ! ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]].sort([‘id’])
在前面的代码后面增加 city 列并使用 count 函数进行计数。相当于 excel 中的 countifs 函数的功能。 1#对筛选后的数据按 city 列进行计数 2df_inner.loc[(df_inner[‘city’] ! ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]].sort([‘id’]).city.count()
还有一种筛选的方式是用 query 函数。下面是具体的代码和筛选结果。 1#使用 query 函数进行筛选 2df_inner.query(‘city [‘beijing’, ‘shanghai’]’)
在前面的代码后增加 price 字段和 sum 函数。对筛选后的 price 字段进行求和相当于 excel 中的 sumifs 函数的功能。 1 #对筛选后的结果按 price 进行求和 2 df_inner.query(‘city [‘beijing’, ‘shanghai’]’).price.sum() 3 12230
2、数据汇总 接下来是对数据进行分类汇总Excel 中使用分类汇总和数据透视可以按特定维度对数据进行汇总python 中使用的主要函数是 groupby 和 pivot_table。下面分别介绍这两个函数的使用方法。
1分类汇总 Excel 的数据目录下提供了“分类汇总”功能可以按指定的字段和汇总方式对数据表进行汇总。Python 中通过 Groupby 函数完成相应的操作并可以支持多级分类汇总。 Groupby 是进行分类汇总的函数使用方法很简单制定要分组的列名称就可以也可以同时制定多个列名称groupby 按列名称出现的顺序进行分组。同时要制定分组后的汇总方式常见的是计数和求和两种。 1 #对所有列进行计数汇总 2 df_inner.groupby(‘city’).count()
可以在 groupby 中设置列名称来对特定的列进行汇总。下面的代码中按城市对 id 字段进行汇总计数。 1 #对特定的 ID 列进行计数汇总 2 df_inner.groupby(‘city’)[‘id’].count() 3 city 4 beijing 2 5 guangzhou 1 6 shanghai 2 7 shenzhen 1 8 Name: id, dtype: int64
在前面的基础上增加第二个列名称分布对 city 和 size 两个字段进行计数汇总。 1 #对两个字段进行汇总计数 2 df_inner.groupby([‘city’,‘size’])[‘id’].count() 3 city size 4 beijing A 1 5 F 1 6 guangzhou A 1 7 shanghai A 1 8 B 1 9 shenzhen C 1 10 Name: id, dtype: int64
除了计数和求和外还可以对汇总后的数据同时按多个维度进行计算下面的代码中按城市对 price 字段进行汇总并分别计算 price 的数量总金额和平均金额。 1 #对 city 字段进行汇总并计算 price 的合计和均值。 2 df_inner.groupby(‘city’)[‘price’].agg([len,np.sum, np.mean])
2数据透视 Excel 中的插入目录下提供“数据透视表”功能对数据表按特定维度进行汇总。Python 中也提供了数据透视表功能。通过 pivot_table 函数实现同样的效果。 数据透视表也是常用的一种数据分类汇总方式并且功能上比 groupby 要强大一些。下面的代码中设定 city 为行字段size 为列字段price 为值字段。分别计算 price 的数量和金额并且按行与列进行汇总。 1 #数据透视表 2pd.pivot_table(df_inner,index[‘city’],values[‘price’],columns[‘size’],aggfunc[len,np.sum],fill_value0,marginsTrue)
文章来源网络 版权归原作者所有 上文内容不用于商业目的如涉及知识产权问题请权利人联系小编我们将立即处理