数据清洗的常用工具--Pandas

  1. 现实中,数据并非完美的,需要进行清洗才能进行后面的数据分析
  2. 数据清洗是整个数据分析项目中最消耗时间的一步
  3. 数据的质量最终决定了数据分析的准确性
  4. 数据清洗是唯一可以提高数据质量的方法,使得数据分析结果也变得更可靠

数据清洗的常用工具


  1. 目前在Python中,numpy和pandas是最主流的工具
  2. Numpy中的向量化运算使得数据处理变得高效
  3. Pandas提供了大量数据清洗的高效方法
  4. 在Python中,尽可能多的使用numpy和pandas中的函数,提高数据清洗的效率

Pandas常用数据结构series和方法


  1. 通过pandas.Series来创建Series数据结构
  2. pandas.Series(data,index,dtype,name)
  • 上述参数:data可以为列表,array/dict

  • 上述参数:index表示索引,必须与数据同长度,name表示对象名称

    import pandas as pd
    import numpy as np series1 = pd.Series([2.8, 3.01, 8.99, 8.59, 5.18])
    series2 = pd.Series([2.8, 3.01, 8.99, 8.59, 5.18], index=['a', 'b', 'c', 'd', 'e'], name='这是一个series')
    series3 = pd.Series(np.array((2.8, 3.10, 8.99, 8.59, 5.18)), index=['a', 'b', 'c', 'd', 'e'])
    series4 = pd.Series({'北京': 2.8, '上海': 3.01, '广东': 8.99, '江苏': 8.59, '浙江': 5.18}) print(series1)
    """
    0 2.80
    1 3.01
    2 8.99
    3 8.59
    4 5.18
    dtype: float64
    """ print(series2)
    """
    a 2.80
    b 3.01
    c 8.99
    d 8.59
    e 5.18
    Name: 这是一个series, dtype: float64
    """
    print(series3)
    """
    a 2.80
    b 3.10
    c 8.99
    d 8.59
    e 5.18
    dtype: float64
    """ print(series4)
    """
    北京 2.80
    上海 3.01
    广东 8.99
    江苏 8.59
    浙江 5.18
    dtype: float64
    """

Pandas常用数据结构dataframe和方法


  • 通过pandas.DataFrame来创建DataFrame数据结构

  • Pandas.DataFrame(data,index,dtype,columns)

  • 上述参数:data可以作为 array/dict

  • 上述参数:index为 行 索引,columns代表列名或者列标签

    import pandas as pd
    import numpy as np list1 = [['张三', 23, '男'], ['李四', 27, '女'], ['王二', 26, '女']] # 使用嵌套列表
    df1 = pd.DataFrame(list1, columns=['姓名', '年龄', '性别'])
    df2 = pd.DataFrame({'姓名': ['张三', '李四', '王二'], '年龄': [23, 27, 26], '性别': ['男', '女', '女']})
    array1 = np.array([['张三', 23, '男'], ['李四', 27, '女'], ['王二', 26, '女']]) # 使用numpy
    df3 = pd.DataFrame(array1, columns=['姓名', '年龄', '性别'], index=['a', 'b', 'c']) print(df1)
    """
    姓名 年龄 性别
    0 张三 23 男
    1 李四 27 女
    2 王二 26 女
    """ print(df2)
    """
    姓名 年龄 性别
    0 张三 23 男
    1 李四 27 女
    2 王二 26 女
    """ print(array1)
    """
    [['张三' '23' '男']
    ['李四' '27' '女']
    ['王二' '26' '女']]
    """ print(df3)
    """
    姓名 年龄 性别
    a 张三 23 男
    b 李四 27 女
    c 王二 26 女
    """

常用方法


  • series和dataframe常用方法
方法名称 说明
values 返回对象所有元素的值
index 返回行索引
dtypes 返回索引
shape 返回对象数据形状
ndim 返回对象的维度
size 返回对象的个数
columns 返回列标签(只对dataframe数据结构)
pyinstaller -F -w demo.py --noconsole

Python数据处理常用工具(pandas)的更多相关文章

  1. 学习笔记:Python序列化常用工具及性能对比

    什么叫序列化?简单来讲就是将内存中的变量数据转而存储到磁盘上或是通过网络传输到远程. 反序列化是指:把变量数据从序列化的对象重新读到内存里. 下面我们一起来看看,python里面序列化常用的json. ...

  2. Python第三方常用工具、库、框架等

    Python ImagingLibrary(PIL):它提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换.打印和显示.还能进行一些图形效果的处理,如图形的放大.缩小和旋 ...

  3. python数据处理----常用数据文件的处理

    数据处理时,常用数据存储形式主要有:CSV.JSON.XML.EXCEL.数据库存储. 一.CSV文件 csv文件简介 CSV是一种通用的.相对简单的文件格式,被用户.商业和科学广泛应用.最广泛的应用 ...

  4. python opencv3 —— 常用工具、辅助函数、绘图函数(图像添加文本、矩形等几何形状)

    1. cv2.hconcat().cv2.vconcat() 将从摄像头捕获的多个图像帧,横向(cv2.hconcat)或纵向(cv2.vconcat)拼接到一起,使得可以在一个 window 中进行 ...

  5. (ES6)数据处理常用工具方法收集(更新状态: on)

    1. 扁平数组转成tree结构(来源: StackOverflow的印度老哥写的) // Data Set // One top level comment var comments = [{ id: ...

  6. Python 数据处理库 pandas 入门教程

    Python 数据处理库 pandas 入门教程2018/04/17 · 工具与框架 · Pandas, Python 原文出处: 强波的技术博客 pandas是一个Python语言的软件包,在我们使 ...

  7. Python 数据处理库pandas教程(最后附上pandas_datareader使用实例)

    0 简单介绍 pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库.本文是对它的一个入门教程. pandas提供了快速,灵活和富有 ...

  8. Python数据处理进阶——pandas

    对于python进行数据处理来说,pandas式一个不得不用的包,它比numpy很为强大.通过对<利用python进行数据分析>这本书中介绍pandas包的学习,再加以自己的理解,写下这篇 ...

  9. Python 爬虫的工具列表大全

    Python 爬虫的工具列表大全 这个列表包含与网页抓取和数据处理的Python库.网络 通用 urllib -网络库(stdlib). requests -网络库. grab – 网络库(基于pyc ...

随机推荐

  1. java class 字节码

    java class 字节码 协议: class文件 魔数(Magic):4byte -> 0xCAFEBABE 类似2f3f 版本(Version):4Byte -> 0x0000003 ...

  2. 对 getopts 的理解

    getopts 格式 1 #!/bin/bash 2 echo "begin index is $OPTIND" 3 echo "begin ARG is $OPTARG ...

  3. vue-cli3或者4中如何正确的使用public中的图片

    标题说的很清楚了,就是要使用public中的图片 那么为什么要把图片放到public中呢,其实官网上面也说了,要么是需要动态引入非常多的图片,特别是小图标,如果放在assert中的话,会被webpac ...

  4. [Objective-C] 006_Protocol(协议)

    学过java的同学都知道Interface(接口),那么在Objective-C中有没有接口呢?其实 Objective-C中用Protocol(协议)来实现的,在Objective-C具体怎么用,我 ...

  5. 【转】eclipse找不到或无法加载主类

    Eclipse错误: 找不到或无法加载主类或项目无法编译10种解决大法! 今天启动项目,又遇到找不到或无法加载主类的情况,清除项目后无法编译,bin文件夹下没有.class文件,至少遇到3次这个问题了 ...

  6. SSL/TLS/WTLS

    转载来自http://blog.csdn.net/fw0124/article/details/8470940 一 前言 首先要澄清一下名字的混淆: 1 SSL(Secure Socket Layer ...

  7. 震惊!Windows Service服务和定时任务框架quartz之间原来是这种关系……

    过场CG:   接到公司领导的文件指示,“小熊”需要在6月底去海外执行一个行动代号为[定时任务]的营救计划,这个计划关系到公司某个项目的生死(数据安全漏洞),作战部拟定两个作战方案: 方案一:使用务定 ...

  8. 移动端border:1px问题解决方案

    了解设备像素和css像素的因该知道,通常我们在写移动端时,是按照设计稿标注的像素除以设备的DPR来写真实的像素, 比如在iPhone6上,我们写的20px字体世界上在视觉效应上有20px; 所以当我们 ...

  9. 通过Android studio手动触发Android 上层GC(垃圾回收)的方法

    1.打开android Studio, 2.菜单栏中点击"View"--"Tools Window"--"Profiler",可以看到对应的 ...

  10. Java实现 LeetCode 395 至少有K个重复字符的最长子串

    395. 至少有K个重复字符的最长子串 找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k .输出 T 的长度. 示例 1: 输入: s = " ...