2018-12-19 numpy中的索引和切片

# -*- coding: utf-8 -*-
# numpy 中的索引和切片 
import numpy as np 
file_path = '../datanum.csv'
t1 = np.loadtxt(file_path, delimiter = ',', dtype = 'int')
t2 = np.loadtxt(file_path, delimiter = ',', dtype = 'int', unpack = True)
print t1
print '*'*100
print t2
print '#'*50
# 取指定的行
print t2[2]
# 取连续的多行
print '-'*50
print t2[1:]
# 取不连续的多行
print '/'*50
print t1[[2,8,10]]

print '/'*50
print t1[1,:]
# 取列的时候
print '/'*50
print t1[:,0]
# 取连续的多列
print '/'*50
print t1[:,[0,2]]

# 取行和列
print '/'*50
print t1[2,2]

# 取多行和多列 ,取第三行到第五行, 第1列到第三列
# 取得行和列交叉的位置
print '/'*50
print t1[2:5,0:3]

# 取多个不相邻的点 (0,1) (2,2) (2,0)
print '/'*50
print t1[[0,2,2],[1,2,0]]

# 修改某一个点的值
t1[[0],[2]] = 0
print '/'*50

# 将大于 85656 的值全部改为 0
t1[t1>85656] = 0
print t1

# where 三元运算符 np.where(t1<10000 , 0 , 10000)
print '/'*50
t3 = np.where(t1<85656 , 0 , 10000)
print t3

# clip   clip(10,18) 小于10的变为10 , 大于 18的 改为18 

# 数组的拼接 np.vstack((t1, t2))   竖直拼接  np.hstack() 水平拼接

# 数组的分隔


# 数组的行进行交换 t1[[1,2],:] = t1[[2,1], :]
# 数组的列交换  t1[:,[0,2]] = t1[:,[2,0]]

# numpy 更多的方法
'''
创建全部为0的数组: np.zeros((3,4))
创建全部为1的数组: np.ones((3,4))
创建全部为对角线的正方形数组(方阵) : np.eye(3)
获取最大值,最小值的位置 
    1. np.argmax(t, axis = 0)
    2. np.argmin(t, axis = 1)
'''

你可能感兴趣的:(2018-12-19 numpy中的索引和切片)