ndarray是一个通用的同构数据多维容器,也就是说,其中的所有元素必须是相同类型的。每个数组都有一个shape(一个表示各维度大小的元组)和一个dtype(一个用于说明数组数据类型的对象)。
In [1]: import numpy asnp
In [2]: data = np.array([[1,2,3,4],[5,6,7,8]])
In [3]: data
Out[3]:
array([[1, 2, 3, 4],
[5, 6, 7, 8]])
In [5]: data.shape
Out[5]: (2, 4)
In [6]: data.dtype
Out[6]: dtype('int32')
Part 1 :创建ndarray的方法
array()
arange()
linspace()
zeros()
ones()
empty()
eye()
一 array()
类似Python中的列表,但有两点不同。
array长度是预先定好的,没有append方法。
执行乘法操作时。示例。
import numpy asnp
a=np.array([1,2,3,4,5])
print('numpy',a*6)
l=[1,2,3,4,5]
print('python',l*5)
输出:
numpy [ 6 12 18 24 30]
python [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
应用场景 1)
假如有这样一个场景,将[1,2,3,4,5,6,7] 美元货币转为人民币,这个时候,numy.array便能较好的实现效果。
python能不能实现呢?也是可以的。两种方法,一种方法是循环遍历,乘以汇率。另外一种是使用内置函数map函数。有逼格。
注意,python3中,map返回的是迭代器。
import numpy asnp
a=np.array([1,2,3,4,5])
print('numpy',a*6)
l=[1,2,3,4,5]
print('python',l*5)
print('map函数',list(map(lambda x:x*6,l)))
应用场景 2)
有1000个商品,每个商品数量随机,商品价格随机,求总金额。 array实现起来也比较简单。
最后调用 .sum()方法
import numpy asnp
import random
p=np.array([random.uniform(10,200) for _ in range(1000)])
n=np.array([random.randint(20,30) for _ in range(1000)])
print((p*n).sum()) #.sum()
同样,用python能不能实现呢?也是可以的,有两种方法。一种方法是for循环,