python内置range()
使用python内置函数range()创建
import numpy as np
arr=np.array(range(10))
print('结果:\n',arr)
print('类型:',type(arr))
print('元素类型:',arr.dtype)
print('形状:',arr.shape)
执行结果:
结果:
[0 1 2 3 4 5 6 7 8 9]
类型: <class 'numpy.ndarray'>
元素类型: int32
形状: (10,)
np.arange()函数
功能与 python内置range() 类似,根据 区间范围 和 步长,生成数组,数组的元素 是 均匀分布 的
语法
arange(start=0,stop,step=1,dtype)
参数
- start:起始值,默认为0
- stop:终止值(不包含)
- step:步长,默认为1
- dtype:元素类型
返回
ndarray对象
例子1
arr=np.arange(10)
# arr=np.arange(10,100,10,dtype=np.float)
print('结果:',arr)
print('类型:',type(arr))
print('元素类型:',arr.dtype)
print('形状:',arr.shape)
执行结果:
结果: [0 1 2 3 4 5 6 7 8 9]
类型: <class 'numpy.ndarray'>
元素类型: int32
形状: (10,)
例子2
arr=np.arange(10,100,10,dtype=np.float)
print('结果:',arr)
print('类型:',type(arr))
print('元素类型:',arr.dtype)
print('形状:',arr.shape)
执行结果:
结果: [10. 20. 30. 40. 50. 60. 70. 80. 90.]
类型: <class 'numpy.ndarray'>
元素类型: float64
形状: (9,)
从10开始,到90截止,元素的间隔是10
np.linspace() 函数
根据 区间范围 和 元素个数,生成数组,数组的元素 是均匀分布 的
语法
linspace(start,stop,num=50, endpoint=True, retstep=False, dtype=None,
axis=0)
参数说明
- start:表示从start开始生成
- stop:表示从stop结束生成
- num:默认值50,表示生成(均匀分布)多少个元素
- endpoint:默认值True,表示包含stop,为False表示不包含stop
- retstep:默认为False,表示只返回生成的结果。为True时返回 (
samples,step),step表示步长 - dtype:输出的类型
- axis:生成几维数组
返回值
- samples : ndarray类型,生成的结果
- step : 步长,当形参
retstep=True时,才返回
例子1
import numpy as np
r=np.linspace(1,50)
print(r)
print(type(r))
执行结果:
[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.
37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50.]
<class 'numpy.ndarray'>
默认生成一维数组,50个元素,并且50(范围截止)是包含的
例子2
在10-100范围内生成10个数字,返回数组,和步长
import numpy as np
arr,step=np.linspace(10,100,num=10, retstep=True)
print('结果:',arr)
print('步长:',step)
print('类型:',type(arr))
执行结果:
结果: [ 10. 20. 30. 40. 50. 60. 70. 80. 90. 100.]
步长: 10.0
类型: <class 'numpy.ndarray'>
例子3:生成二维数组
arr=np.linspace([1,10],[10,100],num=10)
print('结果:',arr)
print('类型',type(arr))
print('形状',arr.shape)
执行结果如下:
结果: [[ 1. 10.]
[ 2. 20.]
[ 3. 30.]
[ 4. 40.]
[ 5. 50.]
[ 6. 60.]
[ 7. 70.]
[ 8. 80.]
[ 9. 90.]
[ 10. 100.]]
类型 <class 'numpy.ndarray'>
形状 (10, 2)
生成10行2列的二维数组
例子4:生成二维数组
arr=np.linspace([1,10],[10,100],num=10,axis=1)
print('结果:',arr)
print('类型',type(arr))
print('形状',arr.shape)
执行结果如下:
结果: [[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
[ 10. 20. 30. 40. 50. 60. 70. 80. 90. 100.]]
类型 <class 'numpy.ndarray'>
形状 (2, 10)
生成2行10列的二维数组