【Python数据分析系列4】Numpy学习——数组的基本数学计算(求余、求幂、取整、复数运算)

求余、求幂、取整、复数运算

1. 求余(%)

import numpy as np
one4 = np.arange(9).reshape(3,3)
print('one4=', one4)

mod = np.full((3, 3), 2)
print('mod=', mod)

print('数组与数组求余one4 % mod:', one4 % mod)  #数组求余,对应元素相求余即可

print('数组与数组求余(采用np.mod(one4 , mod)方式):', np.mod(one4 , mod))

print('数组与标量求余one4 % 2:',one4 % 2)   #相当于数组的每一个元素都跟这个标量做求余运算

one4 %= 2
print('数组与标量求余(采用赋值运算方法)one4 %= 2:', one4)

输出:

one4= [[0 1 2]
       [3 4 5]
       [6 7 8]]
mod= [[2 2 2]
      [2 2 2]
      [2 2 2]]
数组与数组求余one4 % mod: 
[[0 1 0]
[1 0 1]
[0 1 0]]
数组与数组求余(采用np.mod(one4 , mod)方式): 
[[0 1 0]
[1 0 1]
[0 1 0]]
数组与标量求余one4 % 2[[0 1 0]
 [1 0 1]
 [0 1 0]]
数组与标量求余(采用赋值运算方法)one4 %= 2[[0 1 0]
 [1 0 1]
 [0 1 0]]

2. 求幂(**)

在python中一个⭐表示乘法,两个⭐表示求幂

one5 = np.arange(9).reshape(3,3)
print('one5=', one5)

power = np.full((3, 3), 2)
print('power=', power)

print('数组与数组求幂one5 ** power:', one5 ** power)  #数组与数组求幂,对应元素相求幂即可

print('数组与数组求幂(采用np.square(one5 , power)方式):', np.power(one5 , power))

print('数组与标量求幂one4 ** 2:',one5 ** 2)   #相当于数组的每一个元素都跟这个标量做求幂运算

one5 **= 2
print('数组与标量求幂(采用赋值运算方法)one5 **= 2:', one5)

#注意:当我们想求平方的时候,numpy中还有可以用专门的np.square(M)函数,M为待平方的数组

输出:

one5= [[0 1 2]
       [3 4 5]
       [6 7 8]]
power= [[2 2 2]
        [2 2 2]
        [2 2 2]]
数组与数组求幂one5 ** power: 
[[ 0  1  4]
 [ 9 16 25]
 [36 49 64]]
数组与数组求幂(采用np.square(one5 , power)方式): 
[[ 0  1  4]
 [ 9 16 25]
 [36 49 64]]
数组与标量求幂one4 ** 2[[ 0  1  4]
 [ 9 16 25]
 [36 49 64]]
数组与标量求幂(采用赋值运算方法)one5 **= 2[[ 0  1  4]
 [ 9 16 25]
 [36 49 64]]

3. 取整运算(//)

在python中一个“/”表示除法,两个“/”表示取整,是一种向下取整的方式,也可以称地板除法

one6 = np.arange(9).reshape(3,3)
print('one6=', one6)

t20 = np.full((3, 3), 2)
print('t20=', t20)

print('数组与数组取整one6 // t20:', one6 // t20)  #数组与数组取整,对应元素相取整即可

print('数组与数组取整(采用np.floor_divide(one6 , t20)方式):', np.floor_divide(one6 , t20))

print('数组与标量取整one6 // 2:',one6 // 2)   #相当于数组的每一个元素都跟这个标量做取整运算

one6 //= 2
print('数组与标量取整(采用赋值运算方法)one6 //= 2:', one6)

输出:

one6= [[0 1 2]
       [3 4 5]
       [6 7 8]]
t20= [[2 2 2]
      [2 2 2]
      [2 2 2]]
数组与数组取整one6 // t20: 
[[0 0 1]
 [1 2 2]
 [3 3 4]]
数组与数组取整(采用np.floor_divide(one6 , t20)方式): 
[[0 0 1]
 [1 2 2]
 [3 3 4]]
数组与标量取整one6 // 2[[0 0 1]
 [1 2 2]
 [3 3 4]]
数组与标量取整(采用赋值运算方法)one6 //= 2[[0 0 1]
 [1 2 2]
 [3 3 4]]

4. 复数运算

在数据处理中,难免会接触到复数的运算,在python中用j、J代表复数的虚部

one7 = np.array([10+2j, -2-3j])
ff1 = np.array([3j, 3+3j])

print('复数与复数相加one7 + ff1', one7 + ff1)

print('实数与复数相加one7 + ff1', 2 + ff1)

输出:

复数与复数相加one7 + ff1 [10.+5.j  1.+0.j]
实数与复数相加one7 + ff1 [2.+3.j 5.+3.j]

本次的学习先到这里,下回我们将学习数组的比较运算和位运算。学习编程语言,上机操作是必不可少的,建议大家最好动手码一码,印象会非常深刻的!

转载请注明出处
##《Python编程从数据分析到机器学习实践》##

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值