pandas filter_数据分析之Pandas操作(2)

接着数据分析之Pandas操作(1)的介绍,本次介绍在实际应用场景中几个常用的函数。还是以titanic生存数据为例,本次需要导入pandas 、numpy 、scipy三个工具包。

import pandas as pdimport numpy as npfrom scipy.stats import zscoretrain_data = pd.read_csv("titanic/train.csv")

(1)查找及统计缺失值

使用函数:count,功能:统计非空个数
#统计非空个数train_data.count()#统计空值个数train_data.shape[0]-train_data.count()
75dd5ed8a4c1add7a96264cf3a9dc413.png使用函数:isnull, 功能:统计空值个数
#计算全部数据中空值的总数,与train_data.shape[0]-train_data.count() 一致np.count_nonzero(train_data.isnull())
fcd402d64e7e9ee979826a87a065ea98.png
#计算某一列中空值的个数np.count_nonzero(train_data['Age'].isnull())
0a34b12774138a73676d241935d2db1a.png

(2)通过apply统计缺失值

首先自定义函数,返回某个维度的空值个数
#通过定义函数 统计缺失值def missing_counts(vector):    null_vector=pd.isnull(vector)    null_counts=np.sum(null_vector)    return null_counts
将函数作用于数据集的每一行
count_missing_row=train_data.apply(missing_counts,axis=1) count_missing_row.head(10)
5e38a0b8f0c152a43f01905147a89a2f.png将函数作用于每一列
count_missing_col=train_data.apply(missing_counts)
(3)缺失值填充使用函数:fillna,功能:填充空值整个数据集填充
train_data.fillna(0)
具体某一列填充
train_data['Age'].fillna(0)
(4)缺失值删除使用函数:dropna,功能:删除空值
train_data.dropna().head(10)
注:缺失值填充及缺失中默认是False,即不替换原有的数据集,如果想保留原有的数据集,可以重新一个数据集来存放处理过的数据。(5)汇总统计情景1:统计单个字段,单个数字特征
#计算不同仓位的乘客平均年龄avg_age_by_pclass=train_data.groupby('Pclass').Age.mean()
724a655d7b20b125ce20ce98025a9050.png
#单独计算1等仓位的平均年龄avg_age_by_pclass=train_data.loc[train_data.Pclass==1]['Age'].mean()
79aaa3c06d52225acc573b1404475781.png情景2:单个字段,多个数字特征,使用agg函数
avg_age_by_pclass=train_data.groupby('Pclass')['Age'].agg([np.count_nonzero,np.mean,np.std])
2e934f9c6737e5552df336e27cddd92b.png情景3:统计统计多个字段,多个数字特征
avg_age_by_pclass=train_data.groupby('Pclass').agg(    {'Age':'mean','Fare':'median'    })
241b4edf9126d6d4eaedd74323cdcd84.png情景4:重命名数字特征列,重新设置索引
avg_age_by_pclass=train_data.groupby('Pclass')['Age'].agg([    np.count_nonzero,    np.mean,    np.std]).rename(columns={'count_nonzero':'count','mean':'avg','std':'std_dev'}).reset_index()
c9e801a6560bbb7a619fce9a80fc7fce.png(6)过滤,类似SQL的having
#按照仓位分组,筛选仓位人数大于200的数据,过滤仓位等级为2的数据train_data.groupby('Pclass').filter(lambda x:x['Pclass'].count()>=200)['Pclass'].value_counts() 
50cdee656c816cbaa06757736650ce56.png
#按照仓位分组,筛选年龄均值大于29的数据,过滤仓位等级为2的数据train_data.groupby('Pclass').filter(lambda x:x['Age'].mean()>=29)['Pclass'].value_counts()
ab15e92ef1f7f9d9bc8c8b2f8ff52c7c.png(7)转换:transform定义一个正态标准化函数
#标准化函数def zscore_count(x):    return ((x-x.mean())/x.std())
按照仓位分组后对年龄字段标准化
#按照仓位分组后对年龄字段标准化z_transf=train_data.groupby('Pclass').Age.transform(zscore_count)z_transf.shape,train_data.shape
05f88a5b25385610b46e1c6a96858c7d.png不分组,对全量数据标准化
all_z_score=zscore(train_data.Age)
66b0f3fe30aa46309fb0004d84a75040.png总结:通过两次对pandas常用操作的介绍,希望能帮助大家起到一个入门的作用,但是,pandas功能强大,还有很多细节需要在实际应用中去查阅官方文档,不要拒绝阅读英文官方文档,查字典,慢慢读。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529068.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ios 隐藏app的插件_等了5年终于复活,iPhone上最干净好用的微博App

来,先跟小虎妞一起回忆下2013年的微博客户端。(图源水印)那时候,首页还是按时间顺序来的,也没有赴美产子、老爷夫人知道错了的广告。后来,随着微博一次次改版,客户端越来越臃肿,第三方微博客户端像雨后春笋…

python调用node_在node中执行python脚本

Node.js多进程基础 Node.js 是以单线程的模式运行的,但它使用的是事件驱动来处理并发。这样有助于我们在多核 cpu 的系统上创建多个子进程,从而提高性能。 每个子进程总是带有三个流对象:child.stdin, child.stdout 和child.stderr。他们可能…

docker配置 nacos_Nacos - 阿里开源配置中心

这里是喵了个咪的后端技术分享,觉得写的不错。点个赞,转发一下,关注一下。本文载于个人原创技术博客http://w-blog.cn,转载请注明出处,非法转载抄袭将追究其责任。配置中心相信大家都有听过,zookeeper、apo…

jdbc获取mysql第二行表信息_【奇技淫巧】MySQL另类方法获取元数据信息

问:在进行MySQL注入时,我们通常是通过information_schema元数据来获取表名、字段名信息,从而读取相应数据。但是如果waf或其它过滤了information_schema关键字,那么还有什么方法可以读取元数据信息呢?答:从…

vscode使用sass_推荐7 个 极好用的VS Code 插件

你知道将高级开发人员与普通开发人员区分的条件是什么吗?没错,是所使用的工具,俗话说,"工欲善其事必先利其器", 拥有正确的工作工具可以让开发人员的生活变得更加轻松,甚至想写一辈子代码。巧的的…

挖掘城市ip_不断挖掘IP价值,紧抓乐园经济新机遇!

当一个国家的人均GDP达到5,000美元时,其旅游度假经济将进入成熟阶段。按照2018年末人口总数计算,我国人均GDP接近1万美元,近年来,越来越多的主题乐园落户中国。乐园的选址、运营有颇多讲究。对主题乐园而言,依托大中型…

pixel和毫米怎么换算_赶紧收藏!小学阶段所有公式、单位换算、数量关系

小学阶段会接触到很多公式,这些公式都是学习中必须要记忆的,笔者特意总结了小学一到六年级所有的公式、单位换算、数量关系、难题知识。孩子只要掌握了这四大知识重点,考试轻轻松松拿高分!一、数量关系计算公式1、单价数量&#x…

相册权限_手机相册太乱?1分钟教你快速管理自己的照片,非常好用!

喜欢拍照的朋友们是不是有这样一个烦恼,那就是手机里拍了很多照片,当你想找某一张照片时你得在手机里翻半天,费时费力,那么今天我就来给大家解决这个烦恼,手机相册是手机中必不可少的,那当我们手机照片太多…

学校计算机数据采集处理系统,中学化学计算机数据采集处理系统实验室装备

中学化学计算机数据采集处理系统实验室装备配置方案一、基础型配置(31套:教师1套,学生30套(2学生/组,以每班60学生分组)),每套配置标准如下:序号 名称 型号1 数据采集器 SJ-SJCJQ2 南师大分析软件 NJSFDX-V33 电流传感…

dplayer js控制 自动全屏_Qt编写安防视频监控系统18-云台控制

一、前言云台控制是视频监控系统中必备的一个功能,对球机进行上下左右的移动,还有焦距的控制,其实核心就是控制XYZ三个坐标轴,为了开发这个模块,特意研究了各种云台控制的方法和开源库比如soap,有些厂家使用…

css不换行属性_那些不常见,但却非常实用的css属性(整理不易)

1、-webkit-line-clamp可以把 块容器 中的内容限制为指定的行数。并且在超过行数后,在最后一行显示"..."这是正常的展示display: -webkit-box; /*值必须为-webkit-box或者-webkit-inline-box*/ -webkit-box-orient: vertical; /*值必须为vertical*/ -webk…

2020身高体重标准表儿童_男女孩最新身高标准表,你家孩子达标了吗?(附增高秘籍)...

现在大家的生活水平提高了,和很多年前相比,孩子们的平均身高提高了不少,孩子能长成一个高个子,也是很多家长非常关注的事情。其实,要想孩子长高,除了营养要跟上以外,充足的睡眠、体重不要太胖都…

java 正则匹配_正则表达式真的很强大,可惜你不会写

专注于Java领域优质技术,欢迎关注本文旨在用最通俗的语言讲述最枯燥的基本知识文章提纲:元字符重复限定符分组转义条件或区间正则表达式在几乎所有语言中都可以使用,无论是前端的JavaScript、还是后端的Java、c#。他们都提供相应的接口/函数支…

石板切割问题c语言_广场地面铺装 仿古石 青石板 板岩 切割岩 冰裂纹压印混凝土地坪...

广场地面铺装 仿古石 青石板 板岩 切割岩 冰裂纹压印混凝土地坪广场地面铺装 仿古石 青石板 板岩 切割岩 冰裂纹压印混凝土地坪青石板是由青色的沉积岩劈制或者切割而成的板材,是天然板岩的一种,主要成分为石灰石、白云石。其比重约2.2~2.7克/立方厘米&a…

python分析工具有哪些_常用Python数据分析工具汇总

Python是数据处理常用工具,可以处理数量级从几K至几T不等的数据,具有较高的开发效率和可维护性,还具有较强的通用性和跨平台性。Python可用于数据分析,但其单纯依赖Python本身自带的库进行数据分析还是具有一定的局限性的&#xf…

高并发编程_高并发编程系列:全面剖析Java并发编程之AQS的核心实现

在并发编程领域,AQS号称是并发同步组件的基石,很多并发同步组件都是基于AQS实现,所以想掌握好高并发编程,你需要掌握好AQS。本篇主要通过对AQS的实现原理、数据模型、资源共享方式、获取锁的过程,让你对AQS的整体设计有…

计算机考试设计会议邀请函,计算机二级常见考点之使用合并技术制作邀请函

计算机01:37来自LearningYard学苑三月份的计算机二级考试即将到来,不知道各位童鞋准备得怎么样了呢,把握了多少。今天小编就给讲讲计算机二级MS office中常见的考核内容——使用合并技术制作邀请函。The computer second-level exam in March is coming …

添加一列_办公软件操作技巧023:如何给excel数据批量添加单位

在日常工作中,我们使用excel编辑电子表格时,经常需要给数据添加单位,单位是编制excel表格常用的元素,有时我们需要给一列数字都添加上单位,比如长度多少米,金额多少元,货物多少公斤等等&#xf…

html代码大全(很全的)_HTML教学(1):写一个属于自己的网址大全(新手版)

超文本标记语言(Hyper Text Markup Language),缩写为HTML,标准通用标记语言下的一个应用。HTML不是一种编程语言,而是一种标记语言 (markup language)只要你打开浏览器,第一眼看到的…

清华大学计算机系高考生源,清华大学在这个高考大省录取人数创新高,网友:仍然是同分不同命...

在众多高考学子眼中,只有“两个学校”,一个是“清华、北大”,一个是“其他学校”,不仅是高考学子,清华、北大在众多人心目中也是十分神圣的。很多学生家长把考上清华、北大作为子女的唯一追求,认为只有考上…