Python Numpy模块函数np.c_和np.r_学习使用

    今天遇上一个矩阵的小问题需要操作数据矩阵,本来想自己写函数的,可是查了一下发现居然还真的有现成的这样的函数可以直接使用,就省事了好多了,简单记录一下。

#!usr/bin/env python
#encoding:utf-8


'''
__Author__:沂水寒城
功能: numpy函数np.c_和np.r_学习使用
'''

import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import numpy as np

def test():
    '''
    numpy函数np.c_和np.r_学习使用
    '''
    data_list1=[4,6,12,6,0,3,7]
    data_list2=[1,5,2,65,6,7,3]
    data_list3=[1,5,2,65,6]
    print u'np.r_  data_list1和data_list2合并'
    print np.r_[data_list1,data_list2]
    print u'np.r_  data_list1和data_list3合并'
    print np.r_[data_list1,data_list3]


    print u'np.c_ data_list1和data_list2合并'
    print np.c_[data_list1,data_list2]
    print u'np.c_ data_list1和data_list3合并'
    print np.c_[data_list1,data_list3]


if __name__=='__main__':
    test()

结果如下:

np.r_  data_list1和data_list2合并
[ 4  6 12  6  0  3  7  1  5  2 65  6  7  3]
np.r_  data_list1和data_list3合并
[ 4  6 12  6  0  3  7  1  5  2 65  6]
np.c_ data_list1和data_list2合并
 [[ 4  1]
 [ 6  5]
 [12  2]
 [ 6 65]
 [ 0  6]
 [ 3  7]
 [ 7  3]]
np.c_ data_list1和data_list3合并
ValueError: all the input array dimensions except for the concatenation axis must match exactly
[Finished in 0.2s with exit code 1]

简单地总结一下用法就是:

np.r_是按行连接两个矩阵,就是把两矩阵上下相加,要求列数相等,类似于pandas中的concat()

np.c_是按列连接两个矩阵,就是把两矩阵左右相加,要求行数相等,类似于pandas中的merge()

简单记录一下,备忘

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Together_CZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值