numpy数组合并[np.c_, np.r_, no.column_stack]

这篇博客介绍了在Python的numpy库中,如何使用np.c_和np.r_进行二维数组的合并。np.c_主要用于在列方向合并数据,等同于在最后一个轴上进行合并;而np.r_则可以按指定轴合并,通过'param'参数选择合并方式。重点讨论了在数据处理中添加行或列的操作,包括向二维数组添加新的列(属性或特征值)和添加新的行(样本)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《惊蛰》
谁提了剑嫁衣勾破
披身贫贱夜色 把杀机淹没

np.r_, np.c_

在实际数据处理中,操作的都是二维数据,因此此处讲的都是最简单的形式。

np.c_

等同于np.r_[’-1’, array, array],相当于在最后一个轴上进行数据合并, shape的最后一维.
对于二维来说最后一个轴就是列, 第一个轴就是行

    a = np.array([[0, 1, 2], [3, 4, 5]])
    np.c_[a, a]
    
    # out: 
    '''
    array([[0, 1, 2, 0, 1, 2],
       [3, 4, 5, 3, 4, 5]])
       '''
       
    np.r_['-1', a,a]

   # out:
      '''
   rray([[0, 1, 2, 0, 1, 2],
       [3, 4, 5, 3, 4, 5]])
   '''
# 再看一个例子:
np.c_[np.array([[1,2,3]]), 0, 0, np.array([[4,5,6]])]

# 注意输出:
'''
array([[1, 2, 3, 0, 0, 4, 5, 6]])
'''

np.r_[‘param’, array[,array,…]]

param:

  • -1 按最后一个轴合并, <=>np.c_[array[,array,...]]
  • 0 按第一个轴合并
    a = np.array([[1,2,3]])
    
    a
   ''' array([[1, 2, 3]])'''
    
    np.r_['-1', a, a]
    '''
    array([[1, 2, 3, 1, 2, 3]])
    '''
   np.r_['0', a, a]
   
   '''
   array([[1, 2, 3],
       [1, 2, 3]])
   '''
 

重点:

好吧,这个得好好理解,但是项目最常用的就是想一个二维数组中添加行,或者列
1、将一个一维数组合并为一个二维数组的列, 向一个二维数组中添加一个新的列,比如添加一个新的属性,或特征值

    a = np.array([[1, 2, 3], [4, 5, 6]])
   # 2 * 3的二维数组
   a

out:

array([[1, 2, 3],
[4, 5, 6]])

    # 添加新的列
	add_columns = [7, 8]
	# option 1:
	np.c_[a, add_columns]
	# option 2
	np.column_stack((a, add_columns))

out:

array([[1, 2, 3, 7],
[4, 5, 6, 8]])

  1. 向二维数组添加行,比如添加一个新的样本
    这个比较烦,
    如果添加的数组不是二维数组,得先转化为二维数组
 add_rows = [7, 8, 9]
 add_rows = np.array(add_rows).reshape(1, -1)
 
 add_rows
 # out:  
 '''array([[7, 8, 9]])'''
 
 np.concatenate((a, add_rows), axis=0)
#out:
'''array([[1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]])
'''  
 
 np.r_['0', a , add_rows]
 #out:
 '''array([[1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]])
 '''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值