Python学习(一)
由于今年刚刚读研,而且导师的研究方向是数据挖掘,虽然之前专业是计算机,但大学四年基本在吃喝玩乐中度过,所以基本算编程小白一枚,学习python等于认真重新学习一门语言,因此想要每周写篇博客来推动自己学习,学习过程中有很多不足,希望大家指正。
python入门
1.numpy
Numpy是python进行科学计算,尤其是数据分析时用到的一个基础库,是大量python数学和科学计算包的基础(如pandas).ndarray是Numpy库的心脏,数组的维数和元素数量由数组的型(shape)确定,数组的维统称为轴(axes),轴的数量称为秩(rank)
1.1. 创建N维数组(ndarray)
使用array()函数
参数为单层或嵌套列表:b = np.array([1.3,2.2],[0.3,4.1])
参数为嵌套元祖或元祖列表:b = np.array((1.3,2.2),(0.3,4.1))
参数是由元祖或列表组成的列表:b = np.array((1.3,2.2),[4.5,6.6],(0.3,4.1))
2.自带的数组创建方法
2.1 zeros():生成由shape参数指定维度信息、元素均为0的数组
np.zeros((3,3))
2.2 ones():同上,生成元素均为1,上述两个函数默认float
np.ones((3,3))
2.3 arange()函数:按照特定规则,生成包含一个数值序列的数组,默认以0为起始值
arange(10):array([0,1,..,9])
arange(4,10):array([4,5,6,7,8,9])
arange(0,12,3):array([0,3,6,9])
arange(0,6,0.6):array([0.,0.6,1.2.....,5.4])
arange与python的range()不一样,range()函数只可以用整数做步长
上面生成的都是一维数组,如果要生成多维数组,可以在arange后面加上reshape()函数,指定形状,把一维数组拆分成不同的部分:
np.arange(0,12).reshape(3,4)
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
2.4 random()函数生成N维随机数组
3.基本操作
3.1 算数运算符(+,-,*,/)--元素级,只用于位置相同的元素之间
3.2 矩阵(内)积: np.dot(A,B)或A.dot(B)
3.3 通用函数(分别处理数组中每个元素): 如sqrt():计算平方根;log(),sin()......
3.4 聚合函数:对一组值(如一个数组)进行操作,返回一个单一值作为结果,如:sum(),min(),max(),mean(),std().....