python学习笔记——numpy模块使用(二)

import numpy as np
#Numpy数据索引
    #常见索引
'''
对数组最简单的就是常见的[]索引
'''
print('-'*50)
x=np.array([1,2,4])
print('x[0]:',x[0])

x[0]=0
print('x:',x)

y=np.arange(6).reshape(3,2)
'''
arange函数用于创建等差数组,非常相似range函数,
两者的区别是前者返回一个ndarray类型的数据,后者返回一个list类型数据
arange支持步长为小数,range只支持步长为整数
'''
'''
reshape函数用于改变数组对象的形状
参数里面加入要把一行数据排列为几行几列
注意:改变数组形状的数组的格式一定要符合自己要排列后的形状满足的数
例如:我如果要排列出3行3列的形状此时我原改变形状的数组个数必须是3*3=9个数据
'''
print('y:\n',y)
print(y[1][1])#表示获取y中第二个数组中的第二个数据

    #切片索引
'''
在python中,我们使用切片来访问list,在Numpy中,也可以使用切片来访问numpy
'''
print('-'*50)
y=np.arange(0,10).reshape(2,5)
print('y:\n',y)
print('row 0',y[0,:])#表示查找第1行数据
print('column 2:',y[:,2])#表示查找第2列数据
print('row 0,1& cols 1,2:\n',y[0:2,1:3])#表示查找第一行到到第二行,第二列到第三列数据

    #数组索引
print('-'*50)
t = np.arange(12).reshape(3,-1)
print("t :\n",t)
rows = [0,1,2]
cols = [0,3,1]

print("index values:\n",t[rows,cols])
#上面的例子我们定义了一个3*4的矩阵,然后访问[0][0],[1][3],[2][1]三个位置的数据.

    #布尔数组索引
'''
在numpy中,我们还可以很轻松的查看,某些满足布尔条件的元素集合,示例如下:
在python中,x>2代表了以布尔表达式,用于判断x是否大于二,返回True或者False;
'''
print('-'*50)
x = np.array([[1,2], [3, 4], [5, 6]]) # 创建一个维度数据
bool_index = x > 2 # 设置条件表达式
print ("x:\n", x)
print ("x > 2:\n", bool_index) # 输出条件表达式结果 每个元素都对应这布尔运算的值 True表示当前值满足条件 False表示不满足条件
print('x[x>2]:\n',x[x>2]) # 直接输出x大于二的值

你可能感兴趣的:(数据挖掘和整理,学习,python)