Python知识点

一、序列。

序列包含6个,常见的有3个分别是:列表, 元组(元素使用括号括起来的), 字符串。

具备的功能:索引,分片(例如nums[2, 5]是指从第2个元素到第5个元素,但是不包括第2个元素,包括第5个元素),相加, 相乘, 成员资格(类似于for i in nums这样,判断i是不是nums中的元素),长度len(nums), 最大值max(nums), 最小值min(nums)。

二、字典

字典也叫散列表,类似于java中的map。有健和值。建立一个字典 d[2]=1 print d {2: 1}。其中健只要不是list, set等这种可改变的变量都行。

三、集合

集合也有很多强大功能。类似于数据库用户查询,判断元素在不在。

创建集合 s = set ( [1, 2, 3, 4] ) print s set([1, 2, 3, 4]).

它具有以下特点:

1、副本是被忽略的。

2、顺序是随意的,而序列则是有序的,字典也是无序的。

四、numpy库

1、列表中每一个元素可以是不同的数据类型,而数组中每个元素需要是同一种数组类型。

2、数据的维度非常重要。每个维度具有不同的定义。例如机器学习中二维样本数据,每一行代表一个样本,每一列代表样本的某一个属性。

3、高维数据可以使用键值对来表示。类似于json,xml数据等。

一维数据可以用列表(有序的)或集合(无序的)表示。二维数据可以用列表表示。高维数据可以用字典或数据格式表示。

4、numpy中最重要的是n维数组对象ndarray,运算过程中,研究人员可以将数组看作为一个数据进行运算,而不需要使用for循环等遍历数组对每个元素进行运算。

ndarray的属性:

ndim 数组维度的数量;

shape 数组的形状,每个维度有多少个数据。对于n行m列矩阵,返回(n, m)。

size 数组的尺寸,返回每个维度的乘积。对于n行m列矩阵,返回n*m。

dtype 数组中元素的类型。

itemsize 数组中每个元素的大小,以字节为单位。

使用如下方法调用: array.shape。

5、ndarray数组对象的创建:

可以从列表或元组中创建,np.array(list/tuple)

也可以使用函数创建。

np.arange(n),元素从0到n-1的整数类型。

np.ones(shape), 根据shape生成一个元素全为1的数组。shape是元组类型。

np.zeros(shape),根据shape生成一个元素全为0的数组。shape是元组类型。

np.full(shape,value),根据shape生成一个元素全为value的数组。shape是元组类型。

np.eye(n), 创建n维单位矩阵。

np.one_like(a),根据数组a产生一个形状与a相同的全1数组。

np.zero_like(a),根据数组a产生一个形状与a相同的全0数组。

np.linspace(a, b, c),产生一个初始值为a,结束值为b,间隔为c的数组。

np.concatenate(), 将两个或多个数组合并成一个新的数组。

numpy默认产生的数组类型是float类型。

改变维度的方法:

np.reshape(shape),不改变数组元素,返回一个shape形状的数组,原数组不变。
np.resize(shape),与reshape功能一样,但是会修改原数组。
np.flatten(),对数组进行降维,返回折叠后的一维数组,原数组不变。

6、数组元素的计算

对数组的计算就是对数组中各个元素进行计算。均不改变原数组的值。
np.abs(x) np.fabs(x) 数组各元素的绝对值。
np.sqrt(x) 数组各元素的平方根。
np.square(x)  数组各元素的平方。
np.log(x) np.log10(x) np.log2(x) 对数计算。
np.ceil(x) np.floor(x) 计算各元素的ceiling值或floor值。

+ - * / ** 两个数组各个元素的计算。
np.maximum(x,y) np.fmax() np.minimun(x,y) np.fmin() 元素级的最大值/最小值的计算。
np.mod(x,y)元素级的模运算。
< > >= <= == != 元素级的比较,产生布尔型数组。

7、numpy数据读取与存储

①保存数组的函数

 np.savetxt(frame, array, fmt='%.18e', delimiter)
frame是保存的文件名,array是要保存的数组,fmt是保存的数据格式(%d等),delimiter是分隔符号。
例如,将数组a保存在csv文件中的语句为:np.savetxt('a.csv', a, fmt='%d', delimiter=',')

②读取数据的函数
np.loadtxt(frame, dtype=np.float, delimiter,unpack=False)
其中unpack默认是false 指的是默认读取到一个数组中。
例如,读取一个csv文件 np.loadtxt('a.csv', delimiter=',')

③多维数据的存储
a.tofile(frame, sep='', format='%s')
frame是文件 字符串; sep是数据分割字符串,如果为空,则写入文件为二进制;format为写入数据的格式。
例如,a.tofile('a.dat',sep=',',format='%d') 文件中不会包含任何维度信息。
④多维数据的读取
np.fromfile(frame, dtype=float, count=-1,sep='')  该方法读取到的维度信息会丢失,所以需要用reshape重新设置维度信息。

8、Numpy中的随机数函数
调用方式 np.random.*
np.random.rand(d0,d1,..,dn) di是维度,根据d0-dn创建随机数数组,浮点数,[0,1),均匀分布。
np.random.randn(d0,d1,..,dn),同上,标准正态分布。
np.random.randint(low,high,shape) 元素值在low和high之间,形状为shape。
np.random.seed(s) 随机数种子函数,s是给定的种子值。与Python的相同。通过使用相同的种子,产生的随机数相同。
shuffle(a) 根据a中一维的数据排序。改变数组a。
permutation(a) 根据a中一维的数据排序,不改变a。
choice(a,size,replace,p) 在数组a中以概率p抽取数据。replace表示是否重用数据,默认为可以重用。
uniform(low,high,size)产生具有均匀分布的数据。
normal(loc,scale,size)产生具有正态分布的数组。loc均值,scale方差。
poisson(lam,size) 产生泊松分布的数据。
9、numpy中的统计函数
调用方式 np.*
sum(a,axis=None) 对数组a求和运算,默认是所有数据。
mean(a,axis=None) 对数组a求期望,就是算数平均值。
average(a,axis=None,weights=None) 加权平均值。
std(a,axis=None) 求数组a的标准差。
var(a,axis=None) 求数组a的方差。
axis是轴,如果为none就是求数组中所有数,否组就针对给定轴计算。
min(a) 求最小值
max(a) 求最大值
argmin(a) 求扁平化后最小值所在的位置。
argmax(a) 求扁平化后最大值所在的位置。
ptp(a) 求数组a中最大值与最小值的差。
median(a) 求数组a中元素的中位数。

10、numpy的梯度函数
np.gradient(f) 计算数组f中元素的梯度。当f为多维时,返回每个维度梯度。
梯度:连续值之间的变化率,也就是斜率。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值