Numpy其他函数,三元表达式,unique

13 篇文章 0 订阅

numpy.where是三元表达式 x if condition else y 的矢量化版本

import numpy as np
print(help(np.where))
a = np.where([[True, False], [True, True]],[[1, 2], [3, 4]],[[9, 8], [7, 6]])
print(a)

在这里插入图片描述

 xarr = np.array([1,2,3,4,5])
 yarr = np.array([6,7,8,9,10])
 condition = xarr < yarr

  #传统的三元表达式
  #zip 函数接受一系列可迭代对象作为参数,将对象中对应的元素打包成一个个tuple(元组),
  #然后返回由这些tuples组成的list(列表)
  result1 = [x if c else y for (x,y,c) in zip(xarr,yarr,condition)]
  print(result1)
  result2 = np.where(condition,xarr,yarr)
  print(result2)

在这里插入图片描述

案例:将数组中的所有异常数字替换为0,比如将NaN替换为0

arr = np.array([
    [1,2,np.NaN,4],
    [4,5,6,np.NaN],
    [np.inf,7,8,9],
    [np.inf,np.e,np.pi,4]
])

print('原数组:')
print(arr)
#设置条件
condition = np.isnan(arr) | np.isinf(arr)
print('结果:')
print(np.where(condition,0,arr))

在这里插入图片描述

np.unique函数主要的作用是将数组中的元素进行去重操作(也就是只保存不重复的数据)

arr = np.array(['图书','数码','小吃','数码','男装','小吃','美食','数码','女装'])
print('原始数组:')
for a in arr:
    print(a,end = ' ')
print()

print('去重数据:')
arr2 = np.unique(arr)
for a in arr2:
    print(a,end = ' ')
print()

运行结果

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值