pandas 学习(四)—— 数据处理(清洗)、缺失值的处理
创建 DataFrame:
df = pd.DataFrame(np.random.randint(0, 10, (2, 4)), columns=list('ABCD'))
0. 为 data frame 添加新的属性列
>> df['total'] = df['A'] + df['B'] + df['C'] + df['D']
# 等价于 df['total'] = df.A + df.B + df.C + df.D
1. 数据类型
- df.values ⇒ 返回的是 numpy 下的多维数组;
- df.column_name.values ⇒ 返回的也是 numpy 下的数组类型;
- df.dtypes:返回的是各个属性列的类型;
- df.select_dtypes([np.object])
- df.select_dypes([bool])
2. 简单数据统计
- 统计某一属性可能的取值:df.column_name.unique()
- 统计出现的次数:df.column_name.value_counts()
- column_name 对应的是该 DataFrame 中某列的列名;
- 也即 pandas 下的 DataFrame 对象直接支持 点+列名的方式进行索引;
3. 缺失值的处理
- 所有缺失值字段填充为 0:
df.fillna(0),一定要十分注意的一点是,df.fillna() 操作默认(inplace=False)不是 inplace,也即不是对原始 data frame 直接操作修改的,而是创建一个副本,对副本进行修改;- df.fillna(0, inplace=True)
- df = df.fillna(0)
- 舍弃:
- 舍弃那些全行为 NaN 的行,以及全列为 NaN 的行:
- df.dropna(axis=[0, 1], how=’all’)
- 删除某些行和列:
- df.drop([], axis=1, inplace=True) ⇒ axis = 1,删除列;
- df.drop([], axis=0, inplace=True) ⇒ axis = 0,删除行;
- 舍弃那些全行为 NaN 的行,以及全列为 NaN 的行:
均值填充
age_mean = data.Age.mean() # age_mean = data['Age'].mean()
data.Age[data['Age'].isnull()] = age_mean # data['Age'] == data.Age 二者是等效的
pandas 学习(四)—— 数据处理(清洗)、缺失值的处理的更多相关文章
- pandas学习3(数据处理)
- pandas学习(四)--数据的归一化
欢迎加入python学习交流群 667279387 Pandas学习(一)–数据的导入 pandas学习(二)–双色球数据分析 pandas学习(三)–NAB球员薪资分析 pandas学习(四)–数据 ...
- 【转】Pandas学习笔记(四)处理丢失值
Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...
- Python pandas学习总结
本来打算学习pandas模块,并写一个博客记录一下自己的学习,但是不知道怎么了,最近好像有点急功近利,就想把别人的东西复制过来,当心沉下来,自己自觉地将原本写满的pandas学习笔记删除了,这次打算写 ...
- Pandas学习(三)——NBA球员薪资分析
欢迎加入python学习交流群 667279387 学习笔记汇总 Pandas学习(一)–数据的导入 pandas学习(二)–双色球数据分析 pandas学习(三)–NAB球员薪资分析 pandas学 ...
- Pandas学习(一)——数据的导入
欢迎加入python学习交流群 667279387 学习笔记汇总 Pandas学习(一)–数据的导入 pandas学习(二)–双色球数据分析 pandas学习(三)–NAB球员薪资分析 pandas学 ...
- pandas 学习笔记【持续更新】
import numpy as np import pandas as pd import matplotlib.pyplot as plt df1 = pd.DataFrame(np.arange( ...
- python学习_数据处理编程实例(二)
在上一节python学习_数据处理编程实例(二)的基础上数据发生了变化,文件中除了学生的成绩外,新增了学生姓名和出生年月的信息,因此将要成变成:分别根据姓名输出每个学生的无重复的前三个最好成绩和出生年 ...
- Struts2框架学习(三) 数据处理
Struts2框架学习(三) 数据处理 Struts2框架框架使用OGNL语言和值栈技术实现数据的流转处理. 值栈就相当于一个容器,用来存放数据,而OGNL是一种快速查询数据的语言. 值栈:Value ...
- Pandas系列(三)-缺失值处理
内容目录 1. 什么是缺失值 2. 丢弃缺失值 3. 填充缺失值 4. 替换缺失值 5. 使用其他对象填充 数据准备 import pandas as pd import numpy as np in ...
随机推荐
- 亚马逊AWS的route53的收费,月费最低 0.9 USD
亚马逊AWS的route53的收费Amazon Route 53 定价 https://aws.amazon.com/cn/route53/pricing/ 一文中,对于一些术语的解释第一项收费--域 ...
- 没有killall命令的解决方法
没有killall命令的解决方法 -bash: killall: command not found https://www.byte128.com/archives/231.html 执行killa ...
- notification-应用实例
这几天接触到了notification,现在就把它的常用方法总结下. 直接看如下代码就行了 ComponentName componetName = new ComponentName("c ...
- 24.Node.js Stream(流)
转自:http://www.runoob.com/nodejs/nodejs-stream.html Stream 是一个抽象接口,Node 中有很多对象实现了这个接口.例如,对http 服务器发起请 ...
- Java Servlet学习笔记(四)Servlet客户端Http请求
Servlet 客户端 HTTP 请求 当浏览器请求网页时,它会向 Web 服务器发送特定信息,这些信息不能被直接读取,因为这些信息是作为 HTTP 请求的头的一部分进行传输的.您可以查看 HTTP ...
- [Javascript] Different ways to create an new array/object based on existing array/object
Array: 1. slice() const newAry = ary.slice() 2. concat const newAry = [].concat(ary) 3. spread oprea ...
- Android抖动的EditText
Java代码:启动动画 Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake); findViewById(R.id.pw ...
- Android触摸事件(五)-CropBitmapActivity关于裁剪工具的使用
文件夹 文件夹 概述 传递数据 裁剪流程 其他事项 使用方式 图片辅助功能 图片缩略图载入 图片旋转 源代码 GitHub地址 演示样例GIF 概述 这个Activity是为了裁剪图片的.使用时须要提 ...
- amaze样例页面分析(一)
amaze样例页面分析(一) 一.总结 1.从审查(inspect)中是很清楚的可以弄清楚这些part之间的结构关系的 2.一者在于弄清楚他们之间的结构关系,二者在于知道结构的每一部分是干嘛的 3.i ...
- Android前后端交互细节--Json转化为对象的原理
移动互联网用户基数越来越大,除了一些工具类(指南针.手电筒等)的应用,绝大部分APP都需要与后端进行交互. 交互的数据格式有JSON.XML等,由于JSON具有语法简单.占用空间小等优势,基本所有的公 ...