创建 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,删除行;
  • 均值填充

    age_mean = data.Age.mean()      # age_mean = data['Age'].mean()
    data.Age[data['Age'].isnull()] = age_mean # data['Age'] == data.Age 二者是等效的

pandas 学习(四)—— 数据处理(清洗)、缺失值的处理的更多相关文章

  1. pandas学习3(数据处理)

  2. pandas学习(四)--数据的归一化

    欢迎加入python学习交流群 667279387 Pandas学习(一)–数据的导入 pandas学习(二)–双色球数据分析 pandas学习(三)–NAB球员薪资分析 pandas学习(四)–数据 ...

  3. 【转】Pandas学习笔记(四)处理丢失值

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

  4. Python pandas学习总结

    本来打算学习pandas模块,并写一个博客记录一下自己的学习,但是不知道怎么了,最近好像有点急功近利,就想把别人的东西复制过来,当心沉下来,自己自觉地将原本写满的pandas学习笔记删除了,这次打算写 ...

  5. Pandas学习(三)——NBA球员薪资分析

    欢迎加入python学习交流群 667279387 学习笔记汇总 Pandas学习(一)–数据的导入 pandas学习(二)–双色球数据分析 pandas学习(三)–NAB球员薪资分析 pandas学 ...

  6. Pandas学习(一)——数据的导入

    欢迎加入python学习交流群 667279387 学习笔记汇总 Pandas学习(一)–数据的导入 pandas学习(二)–双色球数据分析 pandas学习(三)–NAB球员薪资分析 pandas学 ...

  7. pandas 学习笔记【持续更新】

    import numpy as np import pandas as pd import matplotlib.pyplot as plt df1 = pd.DataFrame(np.arange( ...

  8. python学习_数据处理编程实例(二)

    在上一节python学习_数据处理编程实例(二)的基础上数据发生了变化,文件中除了学生的成绩外,新增了学生姓名和出生年月的信息,因此将要成变成:分别根据姓名输出每个学生的无重复的前三个最好成绩和出生年 ...

  9. Struts2框架学习(三) 数据处理

    Struts2框架学习(三) 数据处理 Struts2框架框架使用OGNL语言和值栈技术实现数据的流转处理. 值栈就相当于一个容器,用来存放数据,而OGNL是一种快速查询数据的语言. 值栈:Value ...

  10. Pandas系列(三)-缺失值处理

    内容目录 1. 什么是缺失值 2. 丢弃缺失值 3. 填充缺失值 4. 替换缺失值 5. 使用其他对象填充 数据准备 import pandas as pd import numpy as np in ...

随机推荐

  1. 亚马逊AWS的route53的收费,月费最低 0.9 USD

    亚马逊AWS的route53的收费Amazon Route 53 定价 https://aws.amazon.com/cn/route53/pricing/ 一文中,对于一些术语的解释第一项收费--域 ...

  2. 没有killall命令的解决方法

    没有killall命令的解决方法 -bash: killall: command not found https://www.byte128.com/archives/231.html 执行killa ...

  3. notification-应用实例

    这几天接触到了notification,现在就把它的常用方法总结下. 直接看如下代码就行了 ComponentName componetName = new ComponentName("c ...

  4. 24.Node.js Stream(流)

    转自:http://www.runoob.com/nodejs/nodejs-stream.html Stream 是一个抽象接口,Node 中有很多对象实现了这个接口.例如,对http 服务器发起请 ...

  5. Java Servlet学习笔记(四)Servlet客户端Http请求

    Servlet 客户端 HTTP 请求 当浏览器请求网页时,它会向 Web 服务器发送特定信息,这些信息不能被直接读取,因为这些信息是作为 HTTP 请求的头的一部分进行传输的.您可以查看 HTTP ...

  6. [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 ...

  7. Android抖动的EditText

    Java代码:启动动画 Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake); findViewById(R.id.pw ...

  8. Android触摸事件(五)-CropBitmapActivity关于裁剪工具的使用

    文件夹 文件夹 概述 传递数据 裁剪流程 其他事项 使用方式 图片辅助功能 图片缩略图载入 图片旋转 源代码 GitHub地址 演示样例GIF 概述 这个Activity是为了裁剪图片的.使用时须要提 ...

  9. amaze样例页面分析(一)

    amaze样例页面分析(一) 一.总结 1.从审查(inspect)中是很清楚的可以弄清楚这些part之间的结构关系的 2.一者在于弄清楚他们之间的结构关系,二者在于知道结构的每一部分是干嘛的 3.i ...

  10. Android前后端交互细节--Json转化为对象的原理

    移动互联网用户基数越来越大,除了一些工具类(指南针.手电筒等)的应用,绝大部分APP都需要与后端进行交互. 交互的数据格式有JSON.XML等,由于JSON具有语法简单.占用空间小等优势,基本所有的公 ...