numpy数组(三)

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.]]
"""

 

posted @ 2018-07-23 18:13  LeeJuly  阅读(75)  评论(0编辑  收藏  举报