numpy基础知识2
broadcast_to () 函数
import numpy as np a =np.arange (4) .reshape (1, 4) print ('原数组:') print (a) print ('\n') print ('调用broadcast_to 函数之后:') print (np.broadcast_to (a, (4, 4)))
expand_dims () 函数:用于扩展数组的形状。
x = np.arange(1,5).reshape((2,2)) print(x) print(x.shape, x.ndim) [[1 2] [3 4]] (2,2) 2 y = np.expand_dims(x, axis=0) print(y) print(y.shape, y.ndim) [[[1 2] [3 4]]] (1, 2,2) 3
squeeze () 函数
import numpy as npx= np.arange(1, 10) .reshape((1, 3, 3)) print(x) print(x.shape, x.ndim) [[[1 2 3] [4 5 6] [7 8 9]]] (1, 3, 3) 3 y =np.squeeze(x) print(y) print(y.shape, y.ndim) [[1 2 3] [4 5 6] [7 8 9]] (3, 3) 2
x= np.arange(1, 13) .reshape((1,1,3,4)) print(x) print(x.shape, x.ndim) [[[[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]]]] (1, 1, 3, 4) 4 y = np.squeeze(x) print(y) print(y.shape, y.ndim) [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]] (3, 4) 2
数组操作之连接数组
import numpy as np
a =np.array([[1,2], [3, 4]])
print('第一个数组:')
print (a)
print ('\n')
b= np.array([[5, 6], [7, 8]])
print ('第二个数组:')
print (b)
print ('\n')
print('沿轴0 堆叠两个数组:')
print (np.stack((a, b),0))
print ('\n')
print('沿轴1 堆叠两个数组:')
print (np.stack((a, b),1))
hstack () 函数:通过水平堆叠来生成数组。
x= np.arange(4) .reshape((2,2)) print(x) print("\n") y = np.arange(4, 8) .reshape((2,2)) print(y) print("\n") a = np.hstack((x,y)) print(a) print(a.shape, a.ndim)
vstack () 函数:通过垂直堆叠来生成数组。
运行
import numpy as np a =np.array([[1,2], [3, 4]]) print ('第一个数组:') print (a) print ('\n') b = np.array ([[5, 6], [7, 8]]) print ('第二个数组:') print (b) print ('\n') print('竖直堆叠:') c = np.vstack ((a, b)) print (c)
数组操作之分割数组
split () 函数
x= np.arange(12) .reshape(3, 4) print(x) print("\n") a = np.split(x, 3) print(a)
x = np.arange (12) .reshape(3, 4) print(x) print("\n") a = np.split(x, 2, axis=1) print(a)
hsplit () 函数:用于水平分割数组。
vsplit () 函数:用于垂直分割数组。
x= np.arange (12) .reshape(2, 6) print(x) print("\n") a = np.vsplit(x, 2) print(a)
数组操作之数组元素的添加与删除
resize () 函数
import numpy as np a =np.array([[1,2,3], [4,5,6]]) print('第一个数组:') print (a) print ('\n') print('第一个数组的形状:') print (a.shape) print ('\n') b = np.resize (a,(3, 2)) print('第二个数组:') print (b) print ('\n') print('第二个数组的形状:') print (b.shape) print ('\n') # 要注意a 的第一行在b 中重复出现, 因为尺寸变大了 print ('修改第二个数组的大小:') b = np.resize (a, (3, 3)) print (b)
append () 函数
- 示例代码:
运行
import numpy as np a =np.array([[1,2,3], [4, 5,6]]) print ('第一个数组:') print (a) print ('\n') print('向数组添加元素:') print (np.append(a, [7, 8,9])) print ('\n') print('沿轴0 添加元素:') print (np.append(a, [[7, 8,9]],axis=0)) print ('\n') print('沿轴1 添加元素:') print (np.append(a, [[5,5,5],[7, 8,9]],axis =1))
insert () 函数
import numpy as np a =np.array([[1,2], [3, 4], [5, 6]]) print ('第一个数组:') print(a) print ('未传递 Axis 参数。在删除之前输入数组会被展开。') print (np.insert (a, 3, [11,12])) print ('\n') print ('传递了 Axis 参数。会广播值数组来配输入数组。') print('沿轴0 广播:') print (np.insert (a, 1, [11], axis=0)) print ('\n') print('沿轴1 广播:') print (np.insert (a, 1,11,axis =1))
delete () 函数
import numpy as np a = np.arange (12) .reshape (3, 4) print ('第一个数组:') print (a) print ('\n') print ('未传递 Axis 参数。在插入之前输入数组会被展开。') print (np.delete (a, 5)) print ('\n') print('删除第二列:') print (np.delete(a, 1, axis =1)) print ('\n')
unique () 函数
import numpy as np x = np.array([1,2,3,4,5,6,7,8,9,10,2 ,11,2,33,3,4]) print("x数组:") print(x) print("\n") print(x.size) a = np.unique(x) print(a) print(a.size)
add()
:连接字符串
import numpy as np
print(np.char.add(['hello'],[' 333']))
print(np.char.add(['hello','hi'],['111','222']))
multiply()
:重复字符串
运行
import numpy as np
print(np.char.multiply('good',3))
center()
:居中字符串并填充
运行
import numpy as np
print(np.char.center('good',20,fillchar='*'))
capitalize()
:首字母大写
运行
import numpy as np
print(np.char.capitalize('i am very beautiful'))
title()
:每个单词首字母大写
运行
import numpy as np
print(np.char.title('i am very beautiful'))
lower()
:转为小写
运行
import numpy as np
print(np.char.lower(['NICE','GOOD']))
print(np.char.lower('GOOD'))
upper()
:转为大写
运行
import numpy as np
print(np.char.upper(['good','nice']))
print(np.char.upper('good'))
split()
:分割字符串
运行
import numpy as np
print(np.char.split('i am very beautiful'))
print(np.char.split('www.xiqianyangyi.com',sep='.'))
splitlines()
:按换行分割
运行
import numpy as np
print(np.char.splitlines('i\nam very beautiful'))
strip()
:移除首尾字符
运行
import numpy as np
print(np.char.strip('ashok arunooba','a'))
print(np.char.strip(['arunooba','admin','java'],'a'))
join()
:连接字符串
运行
import numpy as np
print(np.char.join(':','good'))
print(np.char.join([':','-'],['good','nice']))
encode()
/decode()
:编码 / 解码
运行
import numpy as np
a=np.char.encode('good','cp500')
print(a)
print(np.char.decode(a,'cp500'))
数学函数
- 三角函数
运行
import numpy as np
a=np.array([0,30,45,60,90])
print(np.sin(a*np.pi/180))
print(np.cos(a*np.pi/180))
print(np.tan(a*np.pi/180))
around()
:四舍五入
运行
import numpy as np
a=np.array([1.0,5.55,123,0.567,25.532])
print(np.around(a))
print(np.around(a,decimals=2))
print(np.around(a,decimals=-1))
ceil()
:向上取整
运行
import numpy as np
a=np.array([-1.7,1.5,-0.2,0.6,10])
print(np.ceil(a))
算数函数
- 加减乘除
运行
import numpy as np
a=np.arange(9,dtype=np.float_).reshape(3,3)
b=np.array([10,10,10])
print(np.add(a,b))
print(np.subtract(a,b))
print(np.multiply(a,b))
print(np.divide(a,b))
reciprocal()
:倒数
运行
import numpy as np
a=np.array([0.25,0.2,1,100.])
print(np.reciprocal(a))
mod()
/remainder()
:取余
import numpy as np
a=np.array([10,20,30])
b=np.array([3,5,7])
print(np.mod(a,b))
print(np.remainder(a,b))