import numpy as ny
"""
frombuffer()、fromstring()、fromfile()等函数可以从字节序列或文件创建数组
fromfile()从二进制文件中读取数据
int8表示只占8位
int16就用来表示ab,cd,ef,gh
float表示一个64位bit的双精度浮点数数组
"""
s="abcdefgh"
print('ny.fromstring(s,dtype=np.int8): \n',ny.fromstring(s,dtype=ny.int8))
print('ny.fromstring(s,dtype=np.int16): \n',ny.fromstring(s,dtype=ny.int16))
print('ny.fromstring(s,dtype=np.int8): \n',ny.fromstring(s,dtype=ny.float))
"""
ny.fromstring(s,dtype=np.int8):
[ 97 98 99 100 101 102 103 104]
ny.fromstring(s,dtype=np.int16):
[25185 25699 26213 26727]
ny.fromstring(s,dtype=np.int8):
[8.54088322e+194]
"""
"""
定义一个从下标计算数值的函数,然后用fromfunction()通过此函数创建数组:
"""
def func(i):
return i%4+1
print('ny.fromfunction(func,(10,): \n',ny.fromfunction(func,(10,)))
def func2(i,j):
return i*j
print('ny.fromfunction(func2,(9,9): \n',ny.fromfunction(func2,(9,9)))
"""
ny.fromfunction(func,(10,):
[1. 2. 3. 4. 1. 2. 3. 4. 1. 2.]
ny.fromfunction(func2,(9,9):
[[ 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[ 0. 1. 2. 3. 4. 5. 6. 7. 8.]
[ 0. 2. 4. 6. 8. 10. 12. 14. 16.]
[ 0. 3. 6. 9. 12. 15. 18. 21. 24.]
[ 0. 4. 8. 12. 16. 20. 24. 28. 32.]
[ 0. 5. 10. 15. 20. 25. 30. 35. 40.]
[ 0. 6. 12. 18. 24. 30. 36. 42. 48.]
[ 0. 7. 14. 21. 28. 35. 42. 49. 56.]
[ 0. 8. 16. 24. 32. 40. 48. 56. 64.]]
"""