python常见的数据类型有列表list、字典dict、元组tuple、数组array等。在数据分析中,常用的计算类型是数组array形式(或着说矩阵matrix形式,两者有一定的区别)。
numpy库是python中高性能科学计算和数据分析的基础包。可以通过pip进行安装:

pip install numpy
# 或者通过清华镜像进行安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

然后导入numpy库

import numpy as np

创建数组

numpy进行创建数组很简单,它接受一切序列型的对象(包括其他数组),然后产生一个新的含有传入数据的NumPy数组
例如,将一个含有1,2,3,4,元素的列表,转换为一个2×2的二维数组。

data_list = [1,2,3,4]
arr_1 = np.array(data_list).reshape(2,2)

输入arr_1和type(arr_1)、arr_1.shape查看arr_1的结果,类型和维度

arr_1
'''array([[1, 2],
       [3, 4]])'''
type(arr_1)
'''numpy.ndarray'''
arr_1.shape
'''(2, 2)'''

reshape方法确定list转化的数组维度,如果不指定维度,将产生一维的数组:

arr_2 = np.array(data_list)

查看arr_2及其类型和维度

arr_2
'''array([1, 2, 3, 4])'''
type(arr_2)
'''numpy.ndarray'''
arr_2.shape
'''(4,)'''

数组计算

现实中的一些数据可能是几千×几千或者万级单位的数组,具有很大的数据量。对数组进行运算,具有高效快速的好处。
数组索引取出部分值
例如:取出arr_1的第一行所有元素

arr_1[0]
# 得到的结果是
array([1, 2])

取出第一行第一列的元素

arr_1[0][0]
# 得到的结果是
1

取出arr_2的第1至第3个元素(切片)

arr_2[0:3]
# 得到的结果是
array([1, 2, 3])

数组(矢量)与标量计算
例如:arr_1乘上一个常数,如arr_1×2:

arr_1*2
# 得到的结果是arr_1中的每个元素都乘以2:
array([[2, 4],
       [6, 8]])

数组平方和开平方

# 平方
np.sqaure(arr_1)
# 得到的结果是
array([[ 1,  4],
       [ 9, 16]], dtype=int32)
# 开平方
np.sqrt(arr_1)
# 得到的结果是
array([[1.        , 1.41421356],
       [1.73205081, 2.        ]])

数组间的运算
数组基本运算有加、减、乘、除、内积等。

# 数组相加
arr_3 = np.array([1,1,1,1]).reshape(2,2)
arr_1+arr_3
# 得到结果为对应位置元素相加,减法同加法,对应位置相减
array([[2, 3],
       [4, 5]])
# 数组相乘
arr_1*arr_3
# 得到结果为对应位置相乘,除法同
array([[1, 2],
       [3, 4]])
# 数组内积
np.dot(arr_1,arr_3)
# 2×2的数组与2×2的数组内积,结果仍是2×2的数组
array([[3, 3],
       [7, 7]])
# 不同维度的数组相加
arr_4 = np.array([1,2])
arr_1+arr_4
# 2×2的数组与1×2的数组相加,每一行与改一维数组进行相同位置的元素相加(减法同),结果如下
array([[2, 4],
       [4, 6]])
arr_1*arr_4
# 2×2的数组与1×2的数组相乘,每一行与改一维数组进行相同位置的元素相乘(除法同),结果如下
array([[1, 4],
       [3, 8]])

另外还有其他一些函数,如转置、求逆,取对角线元素,求绝对值,最大、小值,求元素和等。

numpy的数值数组运算基本和矩阵的运算法则一样。

Python将数组元素全改为int python将数组转换为向量_Python将数组元素全改为int


Python将数组元素全改为int python将数组转换为向量_数组_02


Python将数组元素全改为int python将数组转换为向量_Python将数组元素全改为int_03


Python将数组元素全改为int python将数组转换为向量_数据分析_04


Python将数组元素全改为int python将数组转换为向量_数据分析_05


Python将数组元素全改为int python将数组转换为向量_数据分析_06


线性代数中常用的一些方法

Python将数组元素全改为int python将数组转换为向量_python_07

参考:
《利用python进行数据分析》Wes McKinney著,唐学韬译,机械工业出版社,2013.9. ISBN: 978-111-43673-7