split、多维数组切片、掩码总结

知识点1:split

str = "Line1-abcdef \nLine2-abc \nLine4-abcd";

print(str.split( ));   # 以空格为分隔符,包含 \n

print(str.split(' ', 1)); # 以空格为分隔符,分隔成两个

知识点2:多维数组的切片

import numpy as np
a = np.arange(1, 28)
a.resize(3,3,3)
print(a)
print(a[1, :, :])        #切出1页 
print(a[:, 1, :])        #切出所有页的1行
print(a[0, :, 1])       #切出0页的1行1列

print(a[::2,::2,::2])  #切出第一页和第三页的1行和第三行的第1列和第三列

切出前20列:sub_data=data.loc[ : , : 'd20']   #也可以哦(注意data为pandas的datafram数据类型)

知识点3:掩码

3.1 布尔掩码

a = np.arange(1, 10)

mask = [True, False, True, False, True, False, True, False, True]

print(a[mask])

a[mask] = 10

print(a)

输出1~100以内3的倍数

a = np.arange(1, 100) print(a[a%3==0]) print(a[(a%3==0) & (a%7==0)])

3.2 索引掩码 (数字索引 掩码和  标签索引   掩码都可以)

p = np.array(['Mi', 'Apple', 'Huawei', 'Oppo', 'Vivo'])

prices = [0, 4, 3, 2, 1, 2,2,2,2,2,2,2]

print(p[prices])

猜你喜欢

转载自blog.csdn.net/weixin_45037357/article/details/108305645