python中数据处理最基础的一个包——numpy。它能很好的进行数据准备,类似与R语言中的数据框(DataFrame)一样。今天,就来从最基础的开始学习。
import numpy as np
data = [[0.95, -0.25, -0.89],
[0.56, 0.24, 0.91]]
data = np.array(data)
#print data * 10
#print data + data
#print data.shape #查看数组的行和列
#print data.dtype
np.zeros(10) #建立所有为0的数组
np.zeros((3, 6))#建立所有为0的二维数组
#print np.arange(15)
#print data.astype(np.int64)将float值转为int值
st = np.array(["1.25","2.4","3.7"])
#print st.astype(float)将字符串转为float值
'''
arr = np.arange(10)
arr_slice = arr[5:8]
arr_slice[1] = 12345
arr_slice[:] = 64 #[5:8]全部变成64
#print arr_slice, arr
arr_copy = arr[5:8].copy()
#print arr_copy
#print data[1][2]
'''
#一个3维的数组,2x2x3.
arr3d = np.array([[[1,2,3],[4,5,6]], [[7,8,9],[10,11,12]]])
arr3d_2d = arr3d[0]
#print arr3d_2d.shape 只有使用np.array([])才能用shape
arr2d = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
#print arr2d[:2]
#print arr2d[:2, 1:] #它是沿着第一个轴切片的,可以传多个切片进来.
#print arr2d[1, 1:] 索引与切片的结合。
#print arr2d[2, 2:]
#print arr2d[:, :1] 冒号代表取整个轴。
#布尔型索引
from numpy.random import randn
names = np.array(['bob','joe','will','bob','will','joe','joe'])
data = randn(7,4)
#print data
#print names == 'bob' 得到布尔值
#print data[names == 'bob']根据布尔值得到数组
#print data[names == 'bob', 2:]
#print data[-(names == 'bob')]除‘bob’以外的其他值
#'|'; '&'分别表示或;和
mask = (names == 'bob') | (names == 'will')
#print data[mask]
2017-04-1808:46:55