【数据分析1】数据分析基础与Numpy基础

NumPy (Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

数据处理的流程:
数据收集----数据预处理----数据处理—数据展示 数据收集方法: 网络爬虫,公开数据集,其他途径收集的数据

数据预处理方法:
1.归一化
2.二值化
3.维度变换
4.去重
5.无效数据过滤

数据处理方法:
1.数据排序
2.数据查找
3.数据统计分析

数据展示方法:
1.列表
2.图表
3.动态交互图形

0.安装numpy:

在某些方面,Numpy数组与Python内置的列表类型非常相似,但是随着数组在维度上变大,Numpy数组提供了更加高效的存储和数据操作。

windows:pip install numpy
Mac: pip3 install numpy

1.导入numpy模块

import numpy as np  
#as np表示在接下来的程序里用np表示numpy import 某某模块 as 一个缩写

2.Numpy的基础类型——ndarray
2.1创建一个ndarray类型的数组

data = np.array([1,2,3,4,5])

np.array()里直接填一个由数字组成的列表

2.2创建一个二维的ndarray类型的数组

data = np.array([[1,2,3],[4,5,6]])

2.3判断ndarray的维度

print(data.ndim) 
2

2.4了解ndarray各维度的长度

print(data.shape) 
(2, 3)

2.5创建一个全是0的数组

data = np.zeros(10)
print(data)
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

2.6创建一个全是1的数组

data = np.ones(10)
print(data)
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]

2.7创建一个全是1的二维数组

注意多维数组的各维度长度要用 元组来表示

data = np.ones((2,5))
print(data)
[[1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]]

2.8顺序数组

data = np.arange(10)
print(data)
[0 1 2 3 4 5 6 7 8 9]

2.9获取数组中某个数字(行话:索引)

data = np.arange(10)
print(data[5])
print(data)
5

2.10获取二维数组中某个数字(行话:索引)

data = np.array([[1,2,3],[4,5,6]]) 
print(data[0][1])
print(data[0,1])
2
2

2.11获取数组中某几个数字(行话:切片)

data = np.arange(10)
print(data[1:6])

从1到6号之前的位置 即12345

注意:切片起始位置是0或结束是最末尾的话可以省略不写
比如: data[:8]和data[0:8]得到的结果一 样

[1 2 3 4 5]
import numpy as np
data = np.arange(10)
date = data[1:5]
date[2] = 100
print(data)
[  0   1   2 100   4   5   6   7   8   9]

注意!切片得到的数据对应的还是原始数据
任何修改都会反映到原始数据上 若想要一份副本不影响原始数据
可以利用data[:].copy()

import numpy as np
data = np.arange(10)
date = data[1:5].copy()
date[2] = 100
print(data)
[0 1 2 3 4 5 6 7 8 9]

这样更改就不会有错误啦
2.12变换数组的维度

import numpy as np
data = np.arange(10)
print(data.reshape((2,5)))
print(data.reshape((2,3)))
[[0 1 2 3 4]
 [5 6 7 8 9]]
Traceback (most recent call last):
  File "C:\Users\lenovo\Desktop\data = np.arange(10)", line 4, in <module>
    print(data.reshape((2,3)))
ValueError: cannot reshape array of size 10 into shape (2,3)

我们可以发现:
2,5成功输出为2行5列
而2,3失败
2.13矩阵的转置

data = np.arange(10)
print(data.reshape((2,5)).T)
[[0 5]
 [1 6]
 [2 7]
 [3 8]
 [4 9]]

3.ndarray的运算
3.1对ndarray数组每个元素都求平方根

data = np.arange(10)
print(np.sqrt(data))
[0.         1.         1.41421356 1.73205081 2.         2.23606798
 2.44948974 2.64575131 2.82842712 3.        ]

在这里插入图片描述

3.2将两个数组相加

data1 = np.array([1,3,5,7,9])
data2 = np.array([2,3,6,8,10])
print(data2+data1)
[ 3  6 11 15 19]
print(np.add(data1,data2))
[ 3 7 11 15 19]

在这里插入图片描述
3.3数学及统计方法:
求和:

dataa = np.arange(10)
print(data.sum())
45

求平均值:

print(data.mean())
4.5

求标准差:

print(data.std())
2.8722813232690143

在这里插入图片描述
3.3数组的排序

data = np.array([3,2,9,2,7])
data.sort()
print(data)
[2 2 3 7 9]

4.ndarray的存取
4.1 读取txt文件

data = np.genfromtxt("data.txt",delimiter=",")
print(data)

4.2类型转换

data = np.genfromtxt("data.txt",delimiter=",")
print(data.astype(int))
发布了28 篇原创文章 · 获赞 25 · 访问量 2045

猜你喜欢

转载自blog.csdn.net/AI_LINNGLONG/article/details/104359514