numpy数学数据处理

数学和统计方法

  • sum 对数组中全部或某轴向的元素求和。零长度的数组的sum为0。
  • mean 算术平均数。零长度的数组的mean为NaN。
    import numpy as np
    import numpy.random as np_random
    
    arr = np.random.randn(5,4)
    print(arr)
    print(arr.sum())  #求总和:所有元素相加
    print(arr.mean()) #求平均值:所有元素相加后除以元素总数
    print(arr.mean(axis=1))
    
    print(arr.cumsum(0))

     

  • std, var 分别为标准差和方差,自由度可调(默认为n)。
  • min, max 最大值和最小值
  • argmin 分别为最大值和最小值的索引
  • cumsum 所有元素的累计和
  • cumprod 所有元素的累计积

 

Any、All测试布尔型数组

bools = np.array([False,True,False,False])
print(bools.any())  #有一个为True就返回True
print(bools.all())  #所有为True返回True

 

sort排序

arr = np_random.randn(8)
arr.sort()
print(arr)

arr = np_random.randn(5,3)
arr.sort(1)  #指定轴排序

 

去重与其他集合运算

  • unique(x) 计算x中的唯一元素,并返回有序结果。
  • intersect1d(x, y) 计算x和y中的公共元素,并返回有序结果。
  • union1d(x, y) 计算x和y的并集,并返回有序结果。
  • in1d(x, y) 得到一个表述"x的元素是否包含于y"的布尔型数组
  • setdiff1d(x, y) 集合的差,即元素在x中且不在y中
  • setxor1d(x, y) 集合的异或,即存在于一个数组中但不同时存在于两个数组中的元素。
  • names = np.array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe'])
    print(np.unique(names)) #Bob', 'Joe', 'Will'
    ints = np.array([3, 3, 3, 2, 2, 1, 1, 4, 4])
    print(np.unique(ints))  #1 2 3 4
    #'查找数组元素是否在另一数组'
    values = np.array([6, 0, 0, 3, 2, 5, 6])
    print(np.in1d(values, [2, 3, 6]))

 

posted @ 2018-08-22 23:18  Python少年  阅读(509)  评论(0编辑  收藏  举报