首页 > 其他分享 >numpy的ndarray的运算

numpy的ndarray的运算

时间:2023-02-24 11:11:24浏览次数:39  
标签:成绩 运算 temp 四名 np 各科 numpy ndarray axis

ndarray的运算

1.逻辑运算

score = np.random.randint(40,100,(10,5))#生成一个10行5列取值在40-50之间的数组
test_sore = score[6:,0:5]#从第6行开始到末尾,5列,取出4名同学用于逻辑判断

test_sore>60
test_sore
"""
array([[ 1, 56,  1,  1, 40],
       [59,  1, 49,  1,  1],
       [50, 43,  1,  1,  1],
       [43,  1, 56,  1,  1]])
"""

test_sore[test_sore>60] = 1#此时我深拷贝
test_sore
"""
array([[ 1, 56,  1,  1, 40],
       [59,  1, 49,  1,  1],
       [50, 43,  1,  1,  1],
       [43,  1, 56,  1,  1]])
"""


2.通用判断函数

  • np.all()
#判断前2名同学的乘积[0:2,:]是否全及格
np.all(score[0:2,:] > 60)#
False
  • np.any()
#判断前两名同学的成绩[0:2,:]是否有大于90分的
np.any(score[0:2,:] > 80)
True

3.np.where(三元运算符)

  • 通过使用np.where能够进行更加复杂的运算
  • np.where()
#判断前四名学生,前四门课程中,成绩中大于60的值为1,否则为0
temp = score[:4,:4]
np.where(temp > 60,1,0)
  • 复合逻辑需要结合np.logical_andnp.logical_or使用
#判断前四名学生,前四门课程中,成绩大于60且小于90的转换为1,否则为0
np.where(np.logical_and(temp > 60,temp < 90),1,0)

#判断前四名学生,前四门课程中,成绩中大于90或小于60的转换为1,否则为0
np.where(np.logical_or(temp > 90,temp < 60),1,0)

4.统计指标

  • 在数据挖掘/机器学习领域,统计指标的值也是我们分析问题的一种方式,常见的指标如下:
  • min(a,axis)
  • max(a,axis)
  • median(a,axis)
  • mean(a,axis,dtype)
  • std(a,axis,dtype)
  • var(a,axis,dype)
temp = score[:4,0:5]
print("前四名学生,各科成绩的最高分:{}".format(np.max(temp,axis=0)))
print("前四名学生,各科成绩的最低分:{}".format(np.min(temp,axis=0)))
print("前四名学生,各科成绩的波动情况:{}".format(np.std(temp,axis=0)))
print("前四名学生,各科成绩的平均分:{}".format(np.mean(temp,axis=0)))

"""
前四名学生,各科成绩的最高分:[94 87 94 96 90]
前四名学生,各科成绩的最低分:[45 41 66 53 43]
前四名学生,各科成绩的波动情况:[18.5876303  18.3507493   9.97496867 17.18284028 17.42125139]
前四名学生,各科成绩的平均分:[63.  64.5 81.  82.5 63. ]
"""

#寻找相应的下标
print("前四名学生,各科成绩最高分对应的学生下标:{}".format(np.argmax(temp,axis=0)))
print("前四名学生,各科成绩最低分对应的学生下标:{}".format(np.argmin(temp,axis=0)))
"""
前四名学生,各科成绩最高分对应的学生下标:[0 1 1 1 2]
前四名学生,各科成绩最低分对应的学生下标:[2 3 0 0 3]
"""

标签:成绩,运算,temp,四名,np,各科,numpy,ndarray,axis
From: https://www.cnblogs.com/yangzilaing/p/17150574.html

相关文章

  • 2的幂:位运算技巧总结
    2的幂给你一个整数n,请你判断该整数是否是2的幂次方。如果是,返回true;否则,返回false。如果存在一个整数x使得 n==2x,则认为n是2的幂次方。示例1:输入:n......
  • python numpy 中的冒号
    python中冒号实际上有两个意思:1.全部选择matrix1[1,:]表示matrix的第1行的所有元素matrix1[:,1]表示matrix的第1列的所有元素2.表示区间,含左不含右matrix1[1,0:......
  • JavaScript 一元运算符
    <!DOCTYPEhtml><html> <head> <metacharset="UTF-8"> <title></title> <scripttype="text/javascript"> /* *一元运算符,只需要一个操作数 * +......
  • JavaScript 运算符
    <!DOCTYPEhtml><html> <head> <metacharset="UTF-8"> <title></title> <scripttype="text/javascript"> /* *运算符也叫操作符 * 通过运算符......
  • shell中的运算符
    算术运算运算符举例结果+(加运算)3+58-(减运算)5-32*(乘运算)5*315/(除运算)8/32%(取余运算)15%43**(幂运算)5**3125bash中的......
  • 03运算符
    运算符算数运算符设:a=10,b=20运算符描述实例+加-两个对象相加a+b输出结果30-减-得到负数或是一个数减去另一个数a-b输出结果-10*乘-两......
  • 关于++运算符号底层机制
    intx=1;inty=x++;++在后,先备份后自增将备份的值赋值给y。intx=1;inty=++x;++在前,仙子增后备份将备份的值赋值给y。intx=1;x=x++;++在后,先备份后自增将备份的值......
  • C++黑马程序员——P124-126. 赋值 关系运算符重载;函数调用运算符重载
    P124.类和对象——C++运算符重载——赋值运算符重载P125.类和对象——C++运算符重载——关系运算符重载P126.类和对象——C++运算符重载——函数调用运算符重载P124......
  • 【JavaScript】24_旧类与new运算符
    14、旧类早期JS中,直接通过函数来定义类一个函数如果直接调用xxx()那么这个函数就是一个普通函数一个函数如果通过new调用newxxx()那么这个函数就是一个够早函数​......
  • numpy数组的基本操作
    数组的基本操作1.数组的索引、切片一维、二维、三维的数组切片直接进行索引,切片对象[:,:]—先行后列#对于二维数组x1=np.random.uniform(0,1,[4,5])#生成一......