Numpy 函数使用技巧

import numpy as np
data = np.genfromtxt("world_alcohol.txt",delimiter=",",dtype=str,skip_header=1)
print data
print type(data)

[[      nan       nan       nan       nan       nan]
 [1.986e+03       nan       nan       nan 0.000e+00]
 [1.986e+03       nan       nan       nan 5.000e-01]
 ...
 [1.987e+03       nan       nan       nan 7.500e-01]
 [1.989e+03       nan       nan       nan 1.500e+00]
 [1.985e+03       nan       nan       nan 3.100e-01]]
<type 'numpy.ndarray'>
data = np.array([1,2,3,4])
print data
[1 2 3 4]
data1 = np.array([[1,2,3,4],[5,6,7,8],[2,2,2,2]])
print data1
[[1 2 3 4]
 [5 6 7 8]
 [2 2 2 2]]
print data.shape
(4L,)
print data1.shape
(3L, 4L)
data = np.array([1,2,3,4.0])
print data
data.dtype
[1. 2. 3. 4.]





dtype('float64')
data = np.array([1,2,3,"4"])
print data
data.dtype #数据类型
['1' '2' '3' '4']





dtype('S11')
data = np.genfromtxt("world_alcohol.txt",delimiter=",",dtype=str,skip_header=1)
print data
[['1986' 'Western Pacific' 'Viet Nam' 'Wine' '0']
 ['1986' 'Americas' 'Uruguay' 'Other' '0.5']
 ['1985' 'Africa' "Cte d'Ivoire" 'Wine' '1.62']
 ...
 ['1987' 'Africa' 'Malawi' 'Other' '0.75']
 ['1989' 'Americas' 'Bahamas' 'Wine' '1.5']
 ['1985' 'Africa' 'Malawi' 'Spirits' '0.31']]
print data[1][1] #矩阵取值
Americas
vector=np.array([5,10,15,20])
print (vector[0:3]) #从左至右取
[ 5 10 15]
data = np.genfromtxt("world_alcohol.txt",delimiter=",",dtype=str,skip_header=1)
data1 = np.array(data)
print data1[:,0:2]#取整列数据
[['1986' 'Western Pacific']
 ['1986' 'Americas']
 ['1985' 'Africa']
 ...
 ['1987' 'Africa']
 ['1989' 'Americas']
 ['1985' 'Africa']]
data1 = np.array([[1,2,3,4],[5,6,7,8],[2,2,2,2]])
data1==1  #判断
array([[ True, False, False, False],
       [False, False, False, False],
       [False, False, False, False]])
data1 = np.array([[1,2,3,4],[5,6,7,8],[2,2,2,2]])
new_array = (data1==1) 
print data1[new_array]  #定位元素
[1]
data1 = np.array([1,2,3,4])
data2 = (data1==2)&(data1==1)
print data2  #判断
[False False False False]
data1 = np.array([1,2,3,4])
data2 = (data1==2)|(data1==1)
print data2
[ True  True False False]
data1 = np.array([1,2,3,4])
print data1.dtype
print data1.astype(str)
int32
['1' '2' '3' '4']
data1 = np.array([1,2,3,4])
print data1.min()
print data1.max()
1
4
data1 = np.array([[1,2,3,4],[5,6,7,8],[2,4,1,0]])
data1.sum(axis=1)   #按行求和
array([10, 26,  7])
data1 = np.array([[1,2,3,4],[5,6,7,8],[2,4,1,0]])
data1.sum(axis=0) #按列求和
array([ 8, 12, 11, 12])
a = np.arange(15).reshape(3,5)
print a
print a.shape
print a.ndim
print a.dtype.name
print a.size
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]]
(3L, 5L)
2
int32
15
np.zeros((5,6))  #矩阵初始化

array([[0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.]])
np.ones((2,3,4),dtype=np.int32)
array([[[1, 1, 1, 1],
        [1, 1, 1, 1],
        [1, 1, 1, 1]],

       [[1, 1, 1, 1],
        [1, 1, 1, 1],
        [1, 1, 1, 1]]])
np.arange(10,100,5)
array([10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90,
       95])
np.random.random((2,3))
array([[0.53674074, 0.23305677, 0.19391963],
       [0.93416765, 0.11027397, 0.93512683]])
a = np.random.random((2,2))
b = np.random.random((2,2))

print np.hstack((a,b))  #数据拼接
[[0.54036568 0.7651197  0.85174038 0.09345969]
 [0.99133994 0.12584765 0.24050664 0.60018397]]
a = np.random.random((2,2))
b = np.random.random((2,2))

print np.vstack((a,b))  #数据拼接
[[0.2035504  0.86393637]
 [0.63149806 0.89757755]
 [0.02250936 0.52304954]
 [0.90389327 0.20683611]]
a = np.random.random((2,2))
b = np.random.random((2,2))
c = np.vstack((a,b))  #数据拼接
print c
print (np.hsplit(c,2))
print (np.hsplit(c,(3,4)))

[[0.88881143 0.81362197]
 [0.41975241 0.69932274]
 [0.20557389 0.62099524]
 [0.96080627 0.9970264 ]]
[array([[0.88881143],
       [0.41975241],
       [0.20557389],
       [0.96080627]]), array([[0.81362197],
       [0.69932274],
       [0.62099524],
       [0.9970264 ]])]
[array([[0.88881143, 0.81362197],
       [0.41975241, 0.69932274],
       [0.20557389, 0.62099524],
       [0.96080627, 0.9970264 ]]), array([], shape=(4L, 0L), dtype=float64), array([], shape=(4L, 0L), dtype=float64)]
a = np.arange(12)
b = a
print a
print b
print b is a
b.shape = 3,4
print a
print id(a)
print id(b)   #复制操作,两个变量指向了一个值,改变任何一个值都会改变整个数据
[ 0  1  2  3  4  5  6  7  8  9 10 11]
[ 0  1  2  3  4  5  6  7  8  9 10 11]
True
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
122267168
122267168
a = np.arange(12)
b = a.copy()
print a
print b
print a is b
b.shape = 3,4
print b
print a
print id(a)
print id(b)
[ 0  1  2  3  4  5  6  7  8  9 10 11]
[ 0  1  2  3  4  5  6  7  8  9 10 11]
False
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
[ 0  1  2  3  4  5  6  7  8  9 10 11]
122267728
122267648
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值