知识点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])