https://blog.csdn.net/xiaoxiangzi222/article/details/53084336
np.array()
中的参数应该是列表,或者嵌套列表,或者元组,中间的值是用逗号隔开的,而数组是用空格隔开的,中间没有逗号,这个一定得注意。
# Ipython交互界面中数组返回的第array([[a, b, c],
# [d, e, f]]) 的形式
# 而打印出来时,则输出的是[[a b c],
# [d e f]] 的d形式,其实就是相当于调用的array()函数,并返回了结果
"""
np.array()中的参数应该是列表,或者嵌套列表,或者元组,中间的值是用逗号隔开的,而数组是用空格隔开的,中间没有逗号,这个一定得注意
"""
import numpy as np
t1 = np.array([1,2,3])
t2 = np.array([[1,2,3],[4, 5, 6]]) # 传入的参数得是列表或者元组
print(t1)
print('----------')
print(t2)
## output 数组中间是没有逗号的
[1 2 3]
----------
[[1 2 3]
[4 5 6]]
range()
用在创建列表中, np.arange()
用在创建数组中
import numpy as np
t1 = list(range(6)) # 创建列表,range用在列表中
t2 = np.arange(6) # 创建数组,arange用在数组中
t3 = np.arange(6).reshape(2,3)
print(t1)
print(t2)
print(t3)
## output
[0, 1, 2, 3, 4, 5]
[0 1 2 3 4 5]
[[0 1 2]
[3 4 5]]
指定axis
参数可以吧运算应用到数组指定的轴上:
# Ipython交互界面
>>> from numpy import *
>>> b = arange(12).reshape(3,4)
>>> b
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
>>>
>>> b.sum(axis=0) # axis=0所指的是所有的行数,也就是对列进行操作进行计算
array([12, 15, 18, 21])
>>>
>>> b.min(axis=1) # axis=1指的是具体的行,也就是对每一行分别具体进行操作
array([0, 4, 8])
参考:np.vstack()和np.hstack()
用法:
np.hstack()
在水平方向上平铺,
函数原型:numpy.hstack(tup)其中tup是arrays序列,tup : sequence of ndarrays(元组)
np.vstack()
垂直方向上堆叠
函数原型:numpy.hstack(tup)tup : sequence of ndarrays
import numpy as np
arr0 = np.array([[1, 2, 3,], [3, 4, 5]])
list0 = range(10, 16)
arr1 = np.array(list0).reshape(2, 3)
a = np.hstack((arr0, arr1)) # 在水平方向上平铺,
b = np.vstack((arr0, arr1)) # 在垂直方向上堆叠
print(a)
print(b)
output-----------
[[ 1 2 3 10 11 12]
[ 3 4 5 13 14 15]]
[[ 1 2 3]
[ 3 4 5]
[10 11 12]
[13 14 15]]
numy保存和读取文件
np.save()
和np.load()
np.load
和np.save
是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中。会自动处理元素类型和形状等信息np.save(file, arr, allow_pickle=True, fix_imports=True)
np.load(file, mmap_mode=None, allow_pickle=False, fix_imports=True, encoding=‘ASCII’)
import numpy as np
arr0 = np.arange(0, 9).reshape((3, 3))
# 保存数组
np.save('arr0.npy', arr0)
# 加载数组
temp = np.load('arr0.npy')
print(temp)
## output
[[0 1 2]
[3 4 5]
[6 7 8]]