日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

numpy數組疊加的實現示例_python

作者:BruceJoneses ? 更新時間: 2022-10-03 編程語言

前言

針對于一維數組的存儲方式,即(n,)存儲為列向量

一、創建一個array

使用np.arange()創建一個一維數組,或者np.array()將多維列表轉成np格式的ndarray

示例:pandas 是基于NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。

二、使用np.r_和np.c_進行數組相加

1.對一維數組的疊加

代碼如下(示例):

import numpy as np
a = np.array([1,2,3])     
'''a = [1 
        2
        3]'''
b = a.repeat(3)
'''b = [1
        1   
        1
       ...
        3]'''
c = np.tile(a ,3)
print(b.shape)      #(9,) 列向量
print(c.shape)      #(9,) 列向量
d = np.r_[b,c]    #按列相加 還是列向量(只是numpy方便顯示,為一行數組),還是一維
print('d:', d)
'''d: [1 1 1 2 2 2 3 3 3 1 2 3 1 2 3 1 2 3]'''
e = np.c_[b,c]   #按行相加 得到(9,2)的二維數組   
print('e:', e)
'''e: [[1 1]
       [1 2]
       [1 3]
       [2 1]
       [2 2]
       [2 3]
       [3 1]
       [3 2]
       [3 3]]'''

2.將數組轉成二維

代碼如下(示例):

a = np.array([1,2,3]).reshape(1,3)     #都初始為二維數組,就可以按照顯示的行列堆疊
b = a.repeat(3).reshape(1,-1)
c = np.tile(a ,3)
print(b.shape)      #(1,9) 二維數組
print(c.shape)      #(1,9) 二維數組
#二維之后就可按照顯示的行列順序進行疊加了
d = np.r_[b,c]    #按列相加,得到(2,9)的二維數組
print('d:', d)    
'''d: [[1 1 1 2 2 2 3 3 3]
       [1 2 3 1 2 3 1 2 3]]'''
e = np.c_[b,c]   #按行相加 得到(1,18)的二維數組   
print('e:', e)
'''e: [[1 1 1 2 2 2 3 3 3 1 2 3 1 2 3 1 2 3]]'''

將數組轉成二維,就可按照顯示的行列進行相堆疊了

3. hstack以及vstack

a = np.array([1,2,3])
b = a.repeat(3)
c = np.tile(a ,3)
bc_h = np.hstack((b, c)) ? ?
print('bc_h:',bc_h)
'''bc_h: [1 1 1 2 2 2 3 3 3 1 2 3 1 2 3 1 2 3]'''
bc_v = np.vstack((b, c)) ? ?
print('bc_v:',bc_v)
'''bc_v: [[1 1 1 2 2 2 3 3 3]
? ? ? ? ? [1 2 3 1 2 3 1 2 3]]'''
d = np.arange(9).reshape(1,9)
# bcd_h = np.hstack((b, c, d)) ? #使用hstack,維度必須相同。不相同會報錯
# print('bcd_h:',bcd_h)

bcd_v = np.vstack((b, c, d)) ? ?
print('bcd_v:',bcd_v)
'''bcd_v: [[1 1 1 2 2 2 3 3 3]
? ? ? ? ? ?[1 2 3 1 2 3 1 2 3]
? ? ? ? ? ?[0 1 2 3 4 5 6 7 8]]'''

在進行vstack疊加時,默認將一維數組元素變成了二維。

但是二維與三維疊加,二維不會變成三維。即一維可以與二維可以進行vstack

hstack不會改變維度,所有要求相疊加的所有數組維度一樣

原文鏈接:https://blog.csdn.net/qq_41893964/article/details/124896945

欄目分類
最近更新