python第四次笔记

第四次笔记

注意文件名不要和numpy 和 pandas 重复

numpy 和 pandas

数据分析绝对绕不过的三个包是numpy、scipy和pandas。numpy是Python的数值计算扩展,专门用来处理矩阵,它的运算效率比列表更高效。scipy是基于numpy的科学计算包,包括统计、线性代数等工具。pandas是基于numpy的数据分析工具,能更方便的操作大型数据集

定义

1.pandas简介
  Pandas被定义为一个开源库, 可在Python中提供高性能的数据处理。它建立在NumPy软件包的顶部, 这意味着操作Numpy需要Pandas。Pandas的名称源自”面板数据”一词, 这表示来自多维数据的计量经济学。它用于Python中的数据分析, 由Wes McKinney在2008年开发。

在Pandas之前, Python能够进行数据准备, 但是它仅提供了有限的数据分析支持。因此, Pandas崭露头角, 并增强了数据分析的功能。无论数据的来源如何, 它都可以执行处理和分析数据所需的五个重要步骤, 即加载, 操作, 准备, 建模和分析。
2.numpy简介
  NumPy主要用C语言编写, 它是Python的扩展模块。它被定义为Python软件包, 用于执行多维和一维数组元素的各种数值计算和处理。使用Numpy数组的计算比普通的Python数组快。

NumPy包是由Travis Oliphant在2005年创建的, 方法是将祖先模块Numeric的功能添加到另一个模块Numarray中。它还能够处理大量数据, 并通过矩阵乘法和数据重塑而方便。

Pandas和NumPy都可以被视为任何科学计算(包括机器学习)的必不可少的库, 因为它们具有直观的语法和高性能的矩阵计算功能。这两个库也最适合数据科学应用程序。

区别

p 50万行代码以上
n 5万行以内
n 内存消耗低
n 单个数组内的数据同质,类型必须相同,支持任意维数的数组
p 支持1维2维,可以不同类型数据类型
n 数值计算
p数据处理与分析

使用

numpy

我们首先载入numpy包,因为它是第三方工具,所以每次使用前必须在代码中载入。as是命名为别名,方便调用,np是numpy约定俗成的简写。

在这里插入图片描述

在这里插入图片描述
array数组需要注意的是,它内部的元素必须为相同类型,比如数值或者字符串。可以用dtype查询其类型,不用加括号。

print(array2.dtype)

int32

数组计算方便

在这里插入图片描述

函数功能强大
reshape、T转置、ufunc、sort等函数

pandas

pandas有两个主要的数据结构,Series和DataFrame,记住大小写区分,后续使用中不多提醒。Series类似于一维数组,和numpy的array接近,由一组数据和数据标签组成。数据标签有索引的作用

注意文件名不要和numpy 和 pandas 重复

Series

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

DataFrame

Series是一维的数据结构,DataFrame是一个表格型的数据结构,它含有不同的列,每列都是不同的数据类型。我们可以把DataFrame看作Series组成的字典,它既有行索引也有列索引。想象得更明白一点,它类似一张excel表格或者SQL,只是功能更强大。
传入字典创建DataFrame
在这里插入图片描述
DataFrame会自动补充索引,并且将字典的key作为列标签,即column。在这里,dict的key顺序是DataFame的顺序,不再是无序的。

DataFrame中可以通过info函数直接查看数据类型和统计。

在这里插入图片描述
列名后面是列的非空值统计量,以及数据类型,最后一行是DataFrame占用的内存大小,对于pandas来说,千万行几百兆的数据也是不再话下的
在这里插入图片描述
原来age的数据类型是int64,现在变成了object
获取列
df[‘name’] 或者 df.nam
获取行
d.ix[0]
在这里插入图片描述

DataFrame在数据选取上面非常强大。

在这里插入图片描述在这里插入图片描述

当逻辑条件复杂时,这种写法并不优雅,比如性别为男,且年龄在18岁,以及性别为女,且年龄在18岁以上的两类人群,这种过滤条件就比较复杂了。pandas中可以用query函数以类SQL语言执行查询。
在这里插入图片描述
DataFrame可以直接在列上进行运算,当DataFrame和DataFrame之间运算时,按索引进行加减乘除。
在这里插入图片描述
在这里插入图片描述DataFrame还有两个常用函数,又特别容易搞混的是,iloc和loc。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值