立即登录

注册账号

联系我们

2022年5月13日 08:50

3. 数组的广播与布尔索引

广播

import numpy as np
a = np.arange(1,11)
a * 2 # array([ 2,  4,  6,  8, 10, 12, 14, 16, 18, 20])
a % 2 ==0 # array([False,  True, False,  True, False,  True, False,  True, False,
        True])
a[a % 2 ==0] # array([ 2,  4,  6,  8, 10])

集合运算

# 读做or 本质 并集 
a[(a<4) | (a>7)]

# 读做and 本质 交集 
a[(a<8) & (a>3)]

数组四则运算

a = np.array([[1,2],[3,4]])
b = np.array([[5,6],[7,8]])

a + b 
array([[ 6,  8],
       [10, 12]])

b - a
array([[4, 4],
       [4, 4]])

a * b
array([[ 5, 12],
       [21, 32]])
b / a
array([[5.        , 3.        ],
       [2.33333333, 2.        ]])

数据类型保持相同

# 数组数据类型要相同, 如果不同,如何处理的?
# 整数和浮点数, 把整数转换为浮点数
a = np.array([1,2.0])
a
array([1., 2.])

# 字符串和浮点数, 把浮点数转换为字符串
# 字符串 > 浮点数 > 整数
a = np.array(['1',2.0])
a

# 关于空值, 不能使用Python中的None, 替换为np.nan 浮点数
a = np.array([1,2,np.nan])
a

 

留言

给我留言