zoukankan      html  css  js  c++  java
  • numpy---one

    import numpy as np
    
    #创建数组(给array函数传递Python序列对象)
    a = np.array([1,2,3,4,5])
    b = np.array((1,2,3,4,5,6))
    c = np.array([ [1,2,3,4,5], [6,7,8,9,10] ])
    
    #数组的大小用shape属性获得
    print(type(a), a.shape, a, '
    ')
    print(type(b), b.shape, b,'
    ')
    print(type(c),c.shape, c,'
    ')
    
    #改变数组的shape属性,改变自身元素排列
    c.shape = 2, 5
    print(c.shape, c)
    
    c.shape = 10, -1
    print(c.shape, c)
    
    #通过reshape改变数组排序,赋值给新数组,但是共享同一块内存
    d = b.reshape((2,3))
    print(d.shape, d)
    b[1]=100
    print(b,d)



    输出:

    <class 'numpy.ndarray'> (5,) [1 2 3 4 5]

    <class 'numpy.ndarray'> (6,) [1 2 3 4 5 6]

    <class 'numpy.ndarray'> (2, 5) [[ 1 2 3 4 5]
    [ 6 7 8 9 10]]

    (2, 5) [[ 1 2 3 4 5]
    [ 6 7 8 9 10]]
    (10, 1) [[ 1]
    [ 2]
    [ 3]
    [ 4]
    [ 5]
    [ 6]
    [ 7]
    [ 8]
    [ 9]
    [10]]
    (2, 3) [[1 2 3]
    [4 5 6]]
    [ 1 100 3 4 5 6] [[ 1 100 3]
    [ 4 5 6]]

    import numpy as np
    
    #创建数组(通过numpy函数)
    a = np.arange(0, 1, 0.1) #不包括终值
    b = np.linspace(0, 1, 10) #包括终值,等差10个数
    c = np.logspace(0, 2, 10) #从1到100,等比10个数
    
    s = "abcdef"
    d = np.fromstring(s, dtype=np.int8)
    e = np.fromstring(s, dtype=np.int16)
    print(a,'
    ',b,'
    ',c,'
    ',d,'
    ',e,'
    ')

    输出:

    [ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
    [ 0. 0.11111111 0.22222222 0.33333333 0.44444444 0.55555556
    0.66666667 0.77777778 0.88888889 1. ]
    [ 1. 1.66810054 2.7825594 4.64158883 7.74263683
    12.91549665 21.5443469 35.93813664 59.94842503 100. ]
    [ 97 98 99 100 101 102]
    [25185 25699 26213]

    import numpy as np
    
    #创建10个元素的一维数组
    def func(i):
        return i%4+1
    
    print ( np.fromfunction(func,(10,)) )

    输出:

    [ 1.  2.  3.  4.  1.  2.  3.  4.  1.  2.]

    import numpy as np
    
    def func(i,j):
        return (i + 1) * (j + 1)
    
    print(np.fromfunction(func, (9,9)))

    输出:

    [[ 1. 2. 3. 4. 5. 6. 7. 8. 9.]
    [ 2. 4. 6. 8. 10. 12. 14. 16. 18.]
    [ 3. 6. 9. 12. 15. 18. 21. 24. 27.]
    [ 4. 8. 12. 16. 20. 24. 28. 32. 36.]
    [ 5. 10. 15. 20. 25. 30. 35. 40. 45.]
    [ 6. 12. 18. 24. 30. 36. 42. 48. 54.]
    [ 7. 14. 21. 28. 35. 42. 49. 56. 63.]
    [ 8. 16. 24. 32. 40. 48. 56. 64. 72.]
    [ 9. 18. 27. 36. 45. 54. 63. 72. 81.]]


    ndim:维度,shape:(行数,列数),size:元素总个数 dtype:指定数据类型
    # -*- coding: utf-8 -*-
    import numpy as np
    
    matrix = np.array([[1,2,3], [4,5,6]]) #矩阵
    print("dim; ",matrix.ndim)
    print("shape: ",matrix.shape)
    print("size: ",matrix.size)
    
    list1 = np.array([1,2,3,4],dtype=np.int32)
    print("list1 dtype: ",list1.dtype)
    
    list2 = np.array([1,2,3,4])
    print("list2 dtype: ",list2.dtype)
    
    list3 = np.array([1,2,3,4],dtype=np.float)
    print("list3 dtype: ",list3.dtype)
    
    list4 = np.array([1,2,3,4],dtype=np.float32)
    print("list4 dtype: ",list4.dtype)
    
    list5 = np.ones((3,4),dtype=np.int)
    print("list5: ",list5)
    
    list6 = np.empty((3,4))
    print("list6: ",list6)
    
    list7 = np.arange(5,15).reshape((2,5))
    print("list7: ",list7)
    
    list8 = np.linspace(1,11,10)
    print("list8: ",list8)

    输出;

    dim; 2
    shape: (2, 3)
    size: 6
    list1 dtype: int32
    list2 dtype: int32
    list3 dtype: float64
    list4 dtype: float32
    list5: [[1 1 1 1]
    [1 1 1 1]
    [1 1 1 1]]
    list6: [[ 6.95332630e-310 1.69118108e-306 2.04722549e-306 1.29061142e-306]
    [ 2.22522597e-306 1.33511969e-306 1.29061753e-306 1.11261027e-306]
    [ 9.34609790e-307 1.11260619e-306 1.42410974e-306 8.34449381e-308]]
    list7: [[ 5 6 7 8 9]
    [10 11 12 13 14]]
    list8: [ 1. 2.11111111 3.22222222 4.33333333 5.44444444
    6.55555556 7.66666667 8.77777778 9.88888889 11. ]

    # -*- coding: utf-8 -*-
    import numpy as np
    
    a = np.arange(5)
    b = np.array([1,2,3,4,5])
    
    print("a: ",a)
    print("b: ",b)
    addc = a + b
    print("add: ", addc)
    
    minusc = a -b
    print("minus: ",minusc)
    
    timec = a * b
    print("times: ",timec)
    
    squc = a**2
    print("square: ",squc)
    
    sinc = 10 * np.sin(a)
    print("sin: ",sinc)
    
    print("compare: ",a<3)
    
    matrix1 = np.array([[1,2,3,4],[5,6,7,8]])
    matrix2 = np.arange(8).reshape((4,2))
    print("matrix *: ",np.dot(matrix1,matrix2))
    print("matrix *",matrix1.dot(matrix2))
    
    suiji = np.random.random((2,4))
    print("suiji: ",suiji)
    print("max: ",np.max(suiji))
    print("min: ",np.min(suiji))
    print("sum: ",np.sum(suiji))
    print("col: ",np.min(suiji,axis=0))
    print("row: ",np.max(suiji,axis=1))

    a: [0 1 2 3 4]
    b: [1 2 3 4 5]
    add: [1 3 5 7 9]
    minus: [-1 -1 -1 -1 -1]
    times: [ 0 2 6 12 20]
    square: [ 0 1 4 9 16]
    sin: [ 0. 8.41470985 9.09297427 1.41120008 -7.56802495]
    compare: [ True True True False False]
    matrix *: [[ 40 50]
    [ 88 114]]
    matrix * [[ 40 50]
    [ 88 114]]
    suiji: [[ 0.79302826 0.02704441 0.19401082 0.02216562]
    [ 0.66149996 0.77353779 0.66565688 0.53205038]]
    max: 0.793028259974
    min: 0.0221656169264
    sum: 3.66899411306
    col: [ 0.66149996 0.02704441 0.19401082 0.02216562]
    row: [ 0.79302826 0.77353779]

  • 相关阅读:
    InjectAPC全部项目(Win32和Win64位)
    Codeforces Round #377 (Div. 2)
    Codeforces Canada Cup 2016
    UVa 1395 (最小生成树)
    空间表SpaceList
    线程中的临界区的应用
    【题解】狼和羊-C++
    【基础算法-树状数组】入门-C++
    【题解】在你窗外闪耀的星星-C++
    【题解】[NOIP模拟题]我要的幸福-C++
  • 原文地址:https://www.cnblogs.com/crazybird123/p/7471956.html
Copyright © 2011-2022 走看看