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年的微博客户端。(图源水印)那时候,首页还是按时间顺序来的,也没有赴美产子、老爷夫人知道错了的广告。后来,随着微博一次次改版,客户端越来越臃肿,第三方微博客户端像雨后春笋…

html高度为零,html中父div高度为0的原因

问题:在chrome中看到父div高度为0,但里面明明有内容。原因:简单的讲原因就是子元素如果设了float属性,这些子元素就脱离了父div容器的控制,所以父容器认为里面没内容,高度自然变成了0.解决办法:…

算法训练营Day23

#Java #回溯 #组合问题 开源学习资料 Feeling and experiences: 组合总和III:力扣题目链接 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。…

matlab调用python_从MATLAB调用Python函数

尝试使用此MEX文件从MATLAB实际调用Python,而不是像其他人建议的那样。它提供了相当不错的集成:http : //algoholic.eu/matpy/ 您可以轻松地执行以下操作: [X,Y]meshgrid(-10:0.1:10,-10:0.1:10); Zsin(X)cos(Y); py_export(X,Y,Z) stmt spr…

macbook配置java环境变量_配置mac上Java环境变量

从ubuntu上转到mac上来做开发,一切配置都要重新开始1. 下载jrehttp://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html选择合适的版本和安装包2. 一键安装3. 查看是否安装成功scarlettdeMacBook-Air:~ scarlettxu$ java -versionjava vers…

地图 插件 html 经纬度,如何往地图位置(经纬度)选择插件页面传递经纬度

查看了一下代码,发现了解决办法;在edit.html中:{:__(Longitude)}:{:__(Latitude)}:在对应的js代码中:edit: function () {$("[data-toggleaddresspicker]").data("lat-id",c-latitude);$("[data-togglea…

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

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

idea 自动生成mybaits_IDEA利用mybatis-generator自动生成dao和mapper

pom.xml配置1 2 1.83 1.3.74 5.1.465 1.1.96 1.3.27 89 10 11 org.springframework.boot12 spring-boot-starter-web13 1415 16 org.springframework.boot17 spring-boot-starter-test18 test19 20 21 org.junit.vintage22 junit-vintage-engine23 24 25 26 27 28 org.mybatis.…

计算机专业个人工作总结,年底个人工作总结计算机专业材料

《年底个人工作总结计算机专业材料.doc》由会员分享,可免费在线阅读全文,更多与《年底个人工作总结计算机专业材料》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。1、定的进步,但我深知自己还存在些缺点和不足,理论基础还不扎实,业务知识…

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

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

乐高机器人骨奥_乐高机器人这个大坑,为啥大家都拽着孩子往里跳?

上学期我们在美国经常凑一起玩的几家家长给自己挖了个大坑,因为孩子们平时都很喜欢玩乐高积木,而且年龄也差不多大刚升了四年级, 感觉是时候可以整点儿“大事”了,于是把他们动员起来组成了一个乐高机器人团队,还任命我…

微型计算机内存主要,微型计算机的内存容量主要指 ( ) 的容量 (7.0分)

【判断题】青藏高压又称南亚高压,是暖季出现在亚洲大陆南部青藏高原上空对流层顶部的大型暖高压系统。【问答题】电路如图 10 所示,已知: u i1 2V,u i2 1V ,计算电路中 u o1 、u o2 、u o3 、u o 的值。【问答题】您认为大学生阶段的学习生活主要由哪几个部分构成?【判断题】发…

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

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

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

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

剑指offer python实现_剑指Offer第2题详解(附Python、Java代码实现)

题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 这个题较为简单 1. Python实现 1.1 使用replace直接实现def replaceSpace(s): # return s.replace(" &…

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

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

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

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

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

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

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

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

python爬虫知识大全_Python爬虫入门有哪些基础知识点

1、什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来。想抓取什么?这个由你…