![7b1a49993019a45be34cdbfdeff02411.png](https://i-blog.csdnimg.cn/blog_migrate/5768362385d0f5e6909d970ceeae6728.jpeg)
一、数据分析的基本过程
![ea8ad7184e44832dc350384ecb4a7aae.png](https://i-blog.csdnimg.cn/blog_migrate/d2d579896e5628a4b82c6ff5ea7e2372.jpeg)
二、一维数据分析
1-1、NumPy一维数组
NumPy的N - 维数组对象表示为ndarray。ndarray是Python中一个快速、灵活的大型数据集容器。数组允许在整块数据上进行数学计算。
标准的NumPy导入方式为:
import
![83d26cbae6c79dc16a99f618d2f79444.png](https://i-blog.csdnimg.cn/blog_migrate/d8ed3f9d94069f429e199bba4e2090d5.jpeg)
生成数组可以使用array函数。
定义一个一维数组array
a = np.array([2, 3, 4, 5, 6])
数组中的元素与其位置的对应关系如下:
![596b36783fa7d5860def1cfdbb59ea1c.png](https://i-blog.csdnimg.cn/blog_migrate/72846bc72838133684c8ad5846dab9c0.jpeg)
(1)查询元素
![0e5a25b0d387d0e35391cd53364e3999.png](https://i-blog.csdnimg.cn/blog_migrate/4280852d6e1f84595f722f6c3c03caca.png)
(2)切片访问
![87b2872884bace9f88a33b42d4832b34.png](https://i-blog.csdnimg.cn/blog_migrate/23473f5f699bb6585b4690f1d501fa35.png)
切片访问所指定的区域 [1:3] ,表明查询的元素是从位置 ‘1’ 开始,显示 ‘3-1’ 即2个元素。
(3)循环访问
![fb9c54f9ccfd64dd924aeee09903d331.png](https://i-blog.csdnimg.cn/blog_migrate/088de2f99d55378527c92e0f17ae301d.jpeg)
(4)数据类型
如果没有进行显式指定,np.array会自动推断生成数组的数据类型。数据类型借呗存储在一个特殊的元数据dtype中。
查看数据类型
![faac83231c7b65beb5ae704a9b1b25d2.png](https://i-blog.csdnimg.cn/blog_migrate/b448d8834cda98a646f78f26a37033c3.png)
![2ba272a72bafd7d47bcd6f2ba54150ac.png](https://i-blog.csdnimg.cn/blog_migrate/157d6f52e8b6cdda2e2ebe0a2e854bee.jpeg)
![f2bac89b3f79e7b77b111a7e2850bca2.png](https://i-blog.csdnimg.cn/blog_migrate/ef7c8337e0f3890d3c5908714eb44b99.jpeg)
(5)查看数组是几维数组
使用ndim查看
![ad12f5fdffb53379cf90b5302e3b2e7a.png](https://i-blog.csdnimg.cn/blog_migrate/e59e810440dfedac3fbc93fdea9462f8.png)
1-2、NumPy一维数组与列表的区别
(1)NumPy提供了很多统计功能
聚合函数(也叫缩减函数),比如平均值mean(),标准差std(),和sum()。
![7c0df2ca6ae99c72fbdbe1a86deee59a.png](https://i-blog.csdnimg.cn/blog_migrate/17033d32401c4bd3b2aeb763ba2a7a6e.jpeg)
![4ce1ce071f7f3e9901884ce38cb53f38.png](https://i-blog.csdnimg.cn/blog_migrate/de9b290ae3c93ef79cd3e4b2e540a86f.jpeg)
![a0c10ab18de92a2092b6d469f55cdc5c.png](https://i-blog.csdnimg.cn/blog_migrate/6ff9a0694b5e4153fb3ec4a767432798.jpeg)
(2)NumPy数值可以进行向量化计算
定义两个NumPy一维数组
![49f079a8009fd7cac184f35ddc8fa3e5.png](https://i-blog.csdnimg.cn/blog_migrate/7b26436d893e3153e58ecb9d47ba5ade.png)
向量相加
![1592fa949a3f82c0deb56adb815e9f42.png](https://i-blog.csdnimg.cn/blog_migrate/63e5479a3c662dd47de05de878846110.jpeg)
![1b4320786fc5be0b7242a76d8ca95f11.png](https://i-blog.csdnimg.cn/blog_migrate/f93c3e2e56526894fe1c13b298281166.png)
向量乘以标量
带有标量计算的算术操作,会将计算参数传递给数组的每一个元素
![7c16880fdd6552f7dacdf678e04b44f1.png](https://i-blog.csdnimg.cn/blog_migrate/c23310b5a13170b905954d88f65a91b3.jpeg)
![b0fab126d844e0ccd466ca4768be3e85.png](https://i-blog.csdnimg.cn/blog_migrate/7fa9b9bd876a136635d4f61bfd1b26f0.png)
同尺寸数组之间的比较,会产生一个布尔值数组:
![46fab3f1eb3c400059d75c6415003637.png](https://i-blog.csdnimg.cn/blog_migrate/482e44f274153b60caf2aaf6851104f2.jpeg)
(3)NumPy数组内元素必须是同一数据类型,列表可以是不同数据类型。
2-1、Pandas一维数组
Series是一种一维的数组对象,包含了一个值序列和数据标签(索引index)。
标准的Pandas导入方式为:
import pandas as pd
(1)最简单的序列可以有一个数组形成:
obj = pd.Series([4, 7, -5, 3])
![9a134614771734946fd8e05a076f0951.png](https://i-blog.csdnimg.cn/blog_migrate/6d3b2122735b1321f0e251157e3af61b.jpeg)
通过打印该数组发现,索引在左边,值在右边,数值类型在最下边。由于我们没有为数据指定索引,默认生成的索引是从0到N-1(N是数据的长度)。
(2)可以通过values属性和index属性分别获取Series对象的值和索引。
![09bcbf55adb97588a4bf874d972a29e1.png](https://i-blog.csdnimg.cn/blog_migrate/be3714df8be90725d70186203ab62254.jpeg)
(3)创建一个指定索引的数组
![d7bbfb6a2397eb1722e25927c1ccc717.png](https://i-blog.csdnimg.cn/blog_migrate/b5e4a1f903411c2f7cf4c73d2f883e41.png)
![331d5fc4d1f4cb90758e4f285766c031.png](https://i-blog.csdnimg.cn/blog_migrate/4943216e42a5dbb1e70e6ae5667a30f6.jpeg)
获取索引
![8fd14f5d054278f9afe302c7310db7a7.png](https://i-blog.csdnimg.cn/blog_migrate/28fae1b95dade2dee9ae6f13507240e0.png)
(4)通过索引访问元素