首页 > 代码库 > Numpy下函数用法
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变成了高度height15 #打两组数据时用+16 #facecolor柱状图里填充的颜色17 #edgecolor是边框的颜色18 #想把一组数据打到下边,在数据前使用负号19 #plt.bar(X, -Y2, width=width, facecolor=‘#ff9999‘, edgecolor=‘white‘)20 #给图加text21 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下函数用法