numpy的基本用法(四)——numpy array合并

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

本文主要是关于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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/usr/bin/env python
# _*_ coding: utf-8 _*_

import numpy as np

# Test 1
A = np.array([1, 1, 1])
B = np.array([2, 2, 2])
# 合并array, 竖直方向
C = np.vstack((A, B))
print A.shape
print C.shape
print C

# 合并array, 水平方向
D = np.hstack((A, B))
print A.shape
print D.shape
print D

# Test 1 result
(3,)
(2, 3)
[[1 1 1]
[2 2 2]]
(3,)
(6,)
[1 1 1 2 2 2]

# Test 2
A = np.array([1, 1, 1])
# 添加维度
# 列方向上添加维度
B = A[:, np.newaxis]
print A
print B
print A.shape
print B.shape
# 行方向上添加维度
C = A[np.newaxis, :]
print A
print C
print A.shape
print C.shape

# Test 2 result
[1 1 1]
[[1]
[1]
[1]]
(3,)
(3, 1)
[1 1 1]
[[1 1 1]]
(3,)
(1, 3)

# Test 3
A = np.array([1, 1, 1])
B = np.array([2, 2, 2])
# A, B列方向添加维度
A = A[:, np.newaxis]
B = B[:, np.newaxis]
# 合并多个array并指定合并的维度, 列方向上合并
C = np.concatenate((A, B, B, A), axis = 0)
# 合并多个array并指定合并的维度, 行方向上合并
D = np.concatenate((A, B, B, A), axis = 1)
print A
print B
print C
print D

# Test 3 result
[[1]
[1]
[1]]
[[2]
[2]
[2]]
[[1]
[1]
[1]
[2]
[2]
[2]
[2]
[2]
[2]
[1]
[1]
[1]]
[[1 2 2 1]
[1 2 2 1]
[1 2 2 1]]

参考资料

  1. https://www.youtube.com/user/MorvanZhou
如果有收获,可以请我喝杯咖啡!