Python中numpy矩阵合并和初始化

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])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值