1、numpy中两个矩阵的合并
1)理论
np.r_[up, down],把两矩阵上下相加,按列连接两个矩阵,要求列数相等。
np.c_[left, right],把两矩阵左右相加,按行连接两个矩阵,要求行数相等。
2)例子:
import numpy as np
# up和down都是二维矩阵
up = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
down = np.array([[10, 11, 12]])
up_down = np.r_[up,down]
print("上下合并:")
print(up_down)
print("取出第一行第一列数据:")
print(up_down[0, 0])
print("取出第一列(一维列表):")
print(up_down[:, 0])
print("取出第一列(二维列表):")
print(up_down[:, 0:1])
print("取出第一行(一维列表):")
print(up_down[0, :])
print("取出第一行(二维列表):")
print(up_down[0:1, :])
# left是二维矩阵,right是一维矩阵
left = np.array([[1, 2, 3], [4, 5, 6]])
right = np.array([7, 8])
left_right = np.c_[left, right]
print("左右合并:")
print(left_right)
2、np的stack、concatenate方法
import numpy as np
# 1)stack方法
a = np.array([1, 2, 3])
b = np.array([2, 3, 4])
c = np.stack((a, b))
# array([[1, 2, 3],[2, 3, 4]])
print(c)
c = np.stack((a, b), axis=-1)
# array([[1, 2],[2, 3],[3, 4]])
print(c)
# 2)concatenate方法
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6]])
c = np.concatenate((a, b), axis=0)
# array([[1, 2],[3, 4],[5, 6]])
print(c)
c = np.concatenate((a, b.T), axis=1)
# array([[1, 2, 5],[3, 4, 6]])
print(c)
3、numpy中array的数据类型和初始化,numpy中的数值一定要注意
import numpy as np
# 1)初始化为浮点型数据
# data = [[0.0, 0.0, 0.0, 0.0]]
data = np.array([[0.0]*4])
data[0][0] = 1
# 打印出来1.0
print(data[0][0])
# 2)初始化为整型数据
# data = [[0, 0, 0, 0]]
data = np.array([[0]*4])
data[0][0] = 1.23
# 打印出来只有1
print(data[0][0])
# 3)初始化为字符型数据
# data = [['', '', '', '']]
data = np.array([['']*4])
# 如果初始化时,没有空格或者只有一个空格,填写字符只能填写一个
data[0][0]='123'
# 打印出来的只有'1'
print(data[0][0])
# 如果初始化的时候有三个空格
data = np.array([[' ']*4])
data[0][0]='123'
# '123'全部打印出来
print(data[0][0])