数据清洗的常用工具--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. linux静态网络设置

    一:NET模式 第一种: 第二种方式: 三:重启服务

  2. [自动化-脚本]002.cocos2dx-lua lua代码windows加密批处理

    在开发软件的时候,我们都会在项目上线时候对代码进行加密,用来防止被不法分子盗走牟利.不同的语言有不同的加密方式,比较出名的有加壳,代码混淆等.在Lua开发cocos2dx的时候,框架会有提供加密的脚本 ...

  3. [FlashDevelop] 001.FlashDevelop + LayaFlash环境搭建

    产品简介: 唯一使用Flash直接开发或转换大型HTML5游戏的全套解决方案. 开发工具 FlashDevelop + JDK + flashplayer_18_sa_debug + LayaFlas ...

  4. TI CC1310 sub1G的SDK开发之入门

    CC1310是TI新出的一款sub1G射频模块,具体参数见数据手册吧,这款芯片的SDK跑的是rtos系统,是基于free-rtos定制的ti-rtos,多任务运行.芯片集成了两个核,一个M3做控制MU ...

  5. Java实现 蓝桥杯 算法提高 矩阵乘法(暴力)

    试题 算法提高 矩阵乘法 问题描述 小明最近刚刚学习了矩阵乘法,但是他计算的速度太慢,于是他希望你能帮他写一个矩阵乘法的运算器. 输入格式 输入的第一行包含三个正整数N,M,K,表示一个NM的矩阵乘以 ...

  6. Java实现 蓝桥杯 算法提高 歌唱比赛(暴力)

    试题 算法提高 歌唱比赛 问题描述 X市正在进行歌唱比赛,请你写一个程序计算得分. 每名选手从1到N编号,每名选手的综合成绩由以下几个部分组成: 1.歌唱得分占70% 2.才艺展示得分占20% 3.观 ...

  7. Java实现 蓝桥杯 算法训练 K好数

    算法训练 K好数 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K ...

  8. Java实现 LeetCode 437 路径总和 III(三)

    437. 路径总和 III 给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点 ...

  9. Java实现 LeetCode 127 单词接龙

    127. 单词接龙 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度.转换需遵循如下规则: 每次转换只能改变一个字 ...

  10. Java实现 蓝桥杯VIP 算法提高 欧拉函数

    算法提高 欧拉函数 时间限制:1.0s 内存限制:512.0MB 说明 2016.4.5 已更新试题,请重新提交自己的程序. 问题描述 给定一个大于1,不超过2000000的正整数n,输出欧拉函数,p ...