数据预处理-数据清洗之numpy访问与计算

如何访问numpy数组中的元素?

采用索引或者切片的方式

#导入包
import numpy as np
'''
访问ndarry中的元素--索引和切片
'''
#一维数组的索引和切片

arr=np.random.randint(0,20,10)
print(arr)
#index arr[0]
print(arr[1])

'''
切片: ndarray[start:stop:step]
start.default=0,stop.default=end包括最后一个元素, 
如果stop指定值,stop不包括终止值。step.default=1
'''

print(arr[:])
print(arr[1:7:2])
print(arr[-1:-4:-1])
#注意:切片方向需要和步长一致
#   倒序需要写step步长为负数

print(arr[::-1])#反转数组


#高维数组索引和切片

arr2=np.random.randint(0,20,(3,3))
print(arr2)
#index arr2[n]
print(arr2[1]) #得到第二行
#index arr2[m][n]
print(arr2[0][0]) #得到00位置的元素

print(arr2[0][1:3])

'''
注意:切片形成的数组是原数组的视图,如果更改,会级联修改
'''
#example
arr1_1=arr[3:6]
arr1_1[0]=1
print(arr1_1)
print(arr)
#结果可见arr 与 arr1_1 对应的元素修改

#.copy()进行深拷贝,切片数组与原数组相对独立
#example
arr1_2=arr[1:8].copy()
print(arr1_2)
arr1_2[1]=99
print(arr1_2)
print(arr)

#整数数组索引切片

# arr[a1,a2,a3,...,an] 对应轴信息

print(arr[[1,2,4,5]])#舍弃了arr[3]的元素

print(arr2[[0,1,2],[0,1,2]]) #arr[[元素所在第0个轴的信息],[第一个轴的信息],[。。。]]

#高级切片形成的数组与原数组独立

#布尔索引切片

print(arr>10)

print(arr[arr>10]) #提取出>10的元素

numpy计算的一些特殊操作

#导入包
import numpy as np
#numpy运算
'''
1.数学运算函数
exp(x) 计算e的x次方
exp2(x) 计算2的x次方
power(x1,x2) 计算x1的x2次幂
mod(x) 返回输入数组中相应元素的除法余数
log(x) 自然对数,逐元素
log2(x) 以2为底x对数
log10(x) 以10为底x的对数
sqrt(x) 按元素方式返回数组的正平方根
square(x) 返回输入的元素平方
'''
arr=np.array([2,2,2])
arr1=np.exp(arr)
print(arr1)
arr2=np.exp2(arr)
print(arr2)
print(pow(10,2))
print(np.power(arr,2))
#如果要求以e和2以外的数为底的对数,需要用到换底公式
'''
2、取整函数
numpy.around()
这个函数返回四舍五入到所需精度的值。
#注意:遇0.5取距离数最近的偶数,而非人为的四舍五入
numpy.floor() 向下取整
此函数返回不大于输入参数的最大整数。
numpy.ceil()向上取整 本函数返回输入值的上限
'''

'''
3、统计函数
常用统计函数 
numpy.amin() 从给定数组中的元素沿指定轴返回最小值
numpy.amax() 从给定数组中的元素沿指定轴返回最大值
numpy.median() 返回数组中值
numpy.mean() 返回数组的算术平均值
numpy.std() 返回数组的标准差
'''



'''
4、排序和索引函数
函数名 函数作用
numpy.sort() 返回输入数组的排序副本。
numpy.sort()[::-1] #降序排序
numpy.nonzero() 返回输入数组中非零元素的索引。
numpy.where() 返回输入数组中满足给定条件的元素的索引
'''

'''
5、唯一化
np.unique() 去重函数
'''


'''
6、集合逻辑
np.in1d() 验证元素是否在给定序列中
np.intersect1d() 求交集
np.union1d() 求并集
np.setdiff1d() 求差集
'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

winter丶

小白,请多多关照

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值