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下函数用法的主要内容,如果未能解决你的问题,请参考以下文章