Python数据分析基础
一、numpy简易入门
1.1 认识numpy数组对象
import numpy as np # 导入numpy工具包
data = np.arange(12).reshape(3, 4) # 创建一个3行4列的数组
print(data) # 输出数组
print(type(data)) # 输出数据类型
print(data.ndim) # 数组维度的个数,输出结果为2表示二维数组
print(data.shape) # 输出数组维度,输出(3,4)表示三行四列
print(data.size) # 数组元素的个数,输出结果为12,表示总共有12个元素
print(data.dtype) # 数组元素的类型,输出结果int32,表示元素类型都是int32
输出结果如下:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
<class 'numpy.ndarray'>
2
(3, 4)
12
int32
Process finished with exit code 0
1.2 创建numpy数组
import numpy as np # 导入numpy工具包
data1 = np.array([1, 2, 3]) # 创建一个一维数组
print(data1)
data2 = np.array([[1, 2, 3], [4, 5, 6]]) # 创建一个二维数组
print(data2)
data3 = np.zeros((3, 4)) # 创建一个全0数组
print(data3)
data4 = np.ones((3, 4)) # 创建一个全1数组
print(data4)
data5 = np.empty((5, 2)) # 创建全空数组,其实每个值都是接近0的值
print(data5)
print(np.arange(1, 20, 5))
print(np.array([1, 2, 3, 4], float))
print(np.ones((2, 3), dtype='float64'))
输出结果如下:
[1 2 3]
[[1 2 3]
[4 5 6]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
[[6.23042070e-307 8.90092016e-307]
[1.29060871e-306 1.33511290e-306]
[1.11261027e-306 1.11261502e-306]
[1.42410839e-306 7.56597770e-307]
[6.23059726e-307 1.42419530e-306]]
[ 1 6 11 16]
[1. 2. 3. 4.]
[[1. 1. 1.]
[1. 1. 1.]]
Process finished with exit code 0
1.3 ndarry对象的数据类型
(1)查看数据类型
import numpy as np # 导入numpy工具包
data_one = np.array([[1, 2, 3],
[4, 5, 6]])
print(data_one.dtype.name)
输出结果如下:
int32
(2)转换数据类型
import numpy as np # 导入numpy工具包
data = np.array([[1, 2, 3], [4, 5, 6]])
print(data.dtype)
float_data = data.astype(np.float64) # 数据类型转换为float64
print(float_data.dtype)
float_data = np.array([1.2, 2.3, 3.5])
print(float_data)
int_data = float_data.astype(np.int64)
print(int_data)
str_data = np.array(['1', '2', '3'])
int_data = str_data.astype(np.int64)
print(int_data)
输出结果如下:
int32
float64
[1.2 2.3 3.5]
[1 2 3]
[1 2 3]
1.4 数组运算
(1)向量化运算
import numpy as np # 导入numpy工具包
data1 = np.array([[1, 2, 3], [4, 5, 6]])
data2 = np.array([[1, 2, 3], [4, 5, 6]])
print(data1 + data2) # 数组相加
print(data1 * data2) # 数组相乘
print(data1 - data2) # 数组相减
print(data1 / data2) # 数组相除
输出结果如下:
[[