Numpy下函数用法

Posted 上后谈爱情

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Numpy下函数用法相关的知识,希望对你有一定的参考价值。

1.tile(A,res)将数组进行重复,tile(Matrix,(m,n)),将其扩展成任一行

2.shape[0] 数组的第维维数,

3.sum(axis=0)将数组对应的列相加,axis=1,对应的行进行相加

4.argsort(x,axis=0)将数组X进行按列升序排序,x换为-x表示按列降序排序。x.argsort(),得到的是其原数据上的地址

5.对于字典中get函数dict.get(word,d)如果word在字典中返回是word,不是的话

6.将词典进行划分,dict.iteritems();  

operator.itemgetter(1) 获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子。

 1 a = [1,2,3] 
 2 >>> b=operator.itemgetter(1)      //定义函数b,获取对象的第1个域的值
 3 >>> b(a) 
 4 2 
 5 >>> b=operator.itemgetter(1,0)  //定义函数b,获取对象的第1个域和第0个的值
 6 >>> b(a) 
 7 (2, 1)
 8 
 9 要注意,operator.itemgetter函数获取的不是值,而是定义了一个函数,通过该函数作用到对象上才能获取值。
10 
11 sorted函数
12 Python内置的排序函数sorted可以对list或者iterator进行排序,官网文档见:

 7.scatter画散点图的代码:

1.画竖状图:

 1 import numpy as np
 2 from matplotlib import pyplot as plt
 3 plt.figure(figsize=(9,6))
 4 n = 8
 5 X = np.arange(n)+1
 6 #X是1,2,3,4,5,6,7,8,柱的个数
 7 # numpy.random.uniform(low=0.0, high=1.0, size=None), normal
 8 #uniform均匀分布的随机数,normal是正态分布的随机数,0.5-1均匀分布的数,一共有n个
 9 Y1 = np.random.uniform(0.5,1.0,n)
10 Y2 = np.random.uniform(0.5,1.0,n)
11 plt.bar(X,Y1,width = 0.35,facecolor = \'lightskyblue\',edgecolor = \'white\')
12 #width:柱的宽度
13 plt.bar(X+0.35,Y2,width = 0.35,facecolor = \'yellowgreen\',edgecolor = \'white\')
14 #水平柱状图plt.barh,属性中宽度width变成了高度height
15 #打两组数据时用+
16 #facecolor柱状图里填充的颜色
17 #edgecolor是边框的颜色
18 #想把一组数据打到下边,在数据前使用负号
19 #plt.bar(X, -Y2, width=width, facecolor=\'#ff9999\', edgecolor=\'white\')
20 #给图加text
21 for x,y in zip(X,Y1):
22     plt.text(x+0.3, y+0.05, \'%.2f\' % y, ha=\'center\', va= \'bottom\')
23 
24 for x,y in zip(X,Y2):
25     plt.text(x+0.6, y+0.05, \'%.2f\' % y, ha=\'center\', va= \'bottom\')
26 plt.ylim(0,+1.25)
27 plt.show()

画散点图:

 1 plt.figure(figsize=(9,6))
 2 n=1000
 3 #rand 均匀分布和 randn高斯分布
 4 x=np.random.randn(1,n)
 5 y=np.random.randn(1,n)
 6 T=np.arctan2(x,y)
 7 plt.scatter(x,y,c=T,s=25,alpha=0.4,marker=\'o\')
 8 #T:散点的颜色
 9 #s:散点的大小
10 #alpha:是透明程度
11 plt.show()

scatter(x,y,colro1,color2)两种不同色彩和尺寸对其描述

 

9.min函数,matrix.min(0)得到每一列中最小值,得到结果一个序列

 

10.使用open(‘filename’)出现TypeError: file() argument 1 must be encoded string without NULL bytes, not str的问题分两种情况讨论

错误时同一用法:在多级目录下降\\用\\\\转译字符处理

所以,如果读取的文件放在一级文件目录下,解决问题的方法有两个:

(1)将文件名改为由英文字母组成

(2)将路径名中的\\字符进行转义,即F:\\PythonProject\\0_2.txt转成F:\\\\PythonProject\\\\0_2.txt

 

 

11.realines vs readline():

readlines 对文章全部读取行readlines.strip().split()---读取一个个单词,readline()一行行的读取,得到每个单词进行划分成最小字母

 

12.numpy 下array数组相乘与numpy下matrix相乘不一样

对于数组array:

 1 A=array([1,2,3]) 2 B=ones((3,1)) 3 print A,B 

将A数组与B数组每个元素进行相乘,形成3*3的数组;对于矩阵而言1*3*3*1最后是一个实数

 

 

[[ 1. 2. 3.]
[ 1. 2. 3.]
[ 1. 2. 3.]]  

以上是关于Numpy下函数用法的主要内容,如果未能解决你的问题,请参考以下文章

Numpy中的tile函数用法

Numpy用法详解

np.random.random()函数 参数用法以及numpy.random系列函数大全

python: numpy--函数 shape用法

numpy中函数shape的用法

Python 关于数组矩阵变换函数numpy.nonzero(),numpy.multiply()用法