Python数据处理笔记numpy篇(一)

关键词:基础数据输入方式,数据选取方式

基础数据输入方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import numpy as np
#np中不同数据的输入方式
np.array(object)
#object 是一个array_like,比如list,range
#[1,2,3]的类型是list;range(3)的类型是range
#但是np.array([1,2,3])和np.array(range(3))的返回值类型都是numpy.ndarray
------
>>>np.array([1,2,3])
array([1,2,3])
>>>print(np.array([1,2,3]))
[1 2 3]
#直接打印出来的没有逗号分隔
------
np.arange([start,]stop,[step,]dtype = None)
#返回值也是ndarray类型
#输入格式与range相似,都是出入初值、终值、步长,可以用这一点来避免与array混淆
------
>>>np.arange(1,7,2)
array([1,3,5])
------
np.linspace(start,stop,num = 50)
#返回值是ndarray
#出入为初值,终值,分隔的点数(num是指在初值终值之间平均分为多少点)
np.loadtxt(path)
#可打开的格式包含一般的txt,csv,dat等格式
#返回值是ndarray

数据选取方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#数据的选取方式
#第一个例子————一维
data = np.arange(7)
#形式如此data[start:stop:step,]
#与list的切片使用方式是一致的
------
>>>data[1:6:2]
array([1,3,5])
>>>data[::-1][::2]
array([6,4,2,0])
------
#例子二————二维
data = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
#形式为data[row,column]
#其中row与column的切片方式与一维的是一致的,一定注意二者(row与column)之间有","分隔
------
>>>data[:,: ]#data的所有行所有列
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
>>>data[0,:]#所有列的第一行数据(就是第一行数据)
array([1, 2, 3])
>>>data[1,1:]#第二列之后所有列的第二行数据
array([5, 6])
>>>data[0,0]#第一行第一列数据,返回值为numpy.int64
1
------
data = np.arange(24).reshape(2,3,4)#这是一个三维的array,英文表示分别为floor,row,column
data = array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]])
>>>data[:,:,:]#输出整个data
>>>data[0,:,:]#等于data[0],第一个floor的所有的行和列
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
>>>data[:,1,:]#所有floor的第二行
array([[ 4, 5, 6, 7],
[16, 17, 18, 19]])
>>>data[:,:,1]#所有floor的第二列
array([[ 1, 5, 9],
[13, 17, 21]])

等待填坑……