欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Numpy array數(shù)據的增、刪、改、查實例

 更新時間:2018年06月04日 14:38:52   作者:夏雨淋河  
今天小編就為大家分享一篇Numpy array數(shù)據的增、刪、改、查實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

準備工作:

增、刪、改、查的方法有很多很多種,這里只展示出常用的幾種。

>>> import numpy as np 
>>> a = np.array([[1,2],[3,4],[5,6]])#創(chuàng)建3行2列二維數(shù)組。 
>>> a 
array([[1, 2], 
 [3, 4], 
 [5, 6]]) 
>>> a = np.zeros(6)#創(chuàng)建長度為6的,元素都是0一維數(shù)組 
>>> a = np.zeros((2,3))#創(chuàng)建3行2列,元素都是0的二維數(shù)組 
>>> a = np.ones((2,3))#創(chuàng)建3行2列,元素都是1的二維數(shù)組 
>>> a = np.empty((2,3)) #創(chuàng)建3行2列,未初始化的二維數(shù)組 
>>> a = np.arange(6)#創(chuàng)建長度為6的,元素都是0一維數(shù)組array([0, 1, 2, 3, 4, 5]) 
>>> a = np.arange(1,7,1)#結果與np.arange(6)一樣。第一,二個參數(shù)意思是數(shù)值從1〜6,不包括7.第三個參數(shù)表步長為1. 
a = np.linspace(0,10,7) # 生成首位是0,末位是10,含7個數(shù)的等差數(shù)列[ 0.  1.66666667 3.33333333 5.  6.66666667 8.33333333 10. ] 
a = np.logspace(0,4,5)#用于生成首位是10**0,末位是10**4,含5個數(shù)的等比數(shù)列。[ 1.00000000e+00 1.00000000e+01 1.00000000e+02 1.00000000e+03 1.00000000e+04] 

>>> a = np.array([[1,2],[3,4],[5,6]])
>>> b = np.array([[10,20],[30,40],[50,60]])
>>> np.vstack((a,b))
array([[ 1, 2],
 [ 3, 4],
 [ 5, 6],
 [10, 20],
 [30, 40],
 [50, 60]])
>>> np.hstack((a,b))
array([[ 1, 2, 10, 20],
 [ 3, 4, 30, 40],
 [ 5, 6, 50, 60]])

不同維數(shù)的數(shù)組直接相加顯然是不允許的。但是可以用一個n行列向量和一個m列行向量構造出一個n×m矩陣

>>> a = np.array([[1],[2]]) 
>>> a 
array([[1], 
 [2]]) 
>>> b=([[10,20,30]])#生成一個list,注意,不是np.array。 
>>> b 
[[10, 20, 30]] 
>>> a+b 
array([[11, 21, 31], 
 [12, 22, 32]]) 
>>> c = np.array([10,20,30]) 
>>> c 
array([10, 20, 30]) 
>>> c.shape 
(3,) 
>>> a+c 
array([[11, 21, 31], 
 [12, 22, 32]]) 

>>> a
array([[1, 2],
 [3, 4],
 [5, 6]])
>>> a[0] # array([1, 2])
>>> a[0][1]#2
>>> a[0,1]#2
>>> b = np.arange(6)#array([0, 1, 2, 3, 4, 5])
>>> b[1:3]#右邊開區(qū)間array([1, 2])
>>> b[:3]#左邊默認為 0array([0, 1, 2])
>>> b[3:]#右邊默認為元素個數(shù)array([3, 4, 5])
>>> b[0:4:2]#下標遞增2array([0, 2])

NumPy的where函數(shù)使用

np.where(condition, x, y),第一個參數(shù)為一個布爾數(shù)組,第二個參數(shù)和第三個參數(shù)可以是標量也可以是數(shù)組。

cond = numpy.array([True,False,True,False]) 
a = numpy.where(cond,-2,2)# [-2 2 -2 2] 
cond = numpy.array([1,2,3,4]) 
a = numpy.where(cond>2,-2,2)# [ 2 2 -2 -2] 
b1 = numpy.array([-1,-2,-3,-4]) 
b2 = numpy.array([1,2,3,4]) 
a = numpy.where(cond>2,b1,b2) # 長度須匹配# [1,2,-3,-4] 

>>> a = np.array([[1,2],[3,4],[5,6]]) 
>>> a[0] = [11,22]#修改第一行數(shù)組[1,2]為[11,22]。 
>>> a[0][0] = 111#修改第一個元素為111,修改后,第一個元素“1”改為“111”。 
 
>>> a = np.array([[1,2],[3,4],[5,6]]) 
>>> b = np.array([[10,20],[30,40],[50,60]]) 
>>> a+b #加法必須在兩個相同大小的數(shù)組鍵間運算。 
array([[11, 22], 
 [33, 44], 
 [55, 66]]) 

不同維數(shù)的數(shù)組直接相加顯然是不允許的。但是可以用一個n行列向量和一個m列行向量構造出一個n×m矩陣

>>> a = np.array([[1],[2]])
>>> a
array([[1],
 [2]])
>>> b=([[10,20,30]])#生成一個list,注意,不是np.array。
>>> b
[[10, 20, 30]]
>>> a+b
array([[11, 21, 31],
 [12, 22, 32]])
>>> c = np.array([10,20,30])
>>> c
array([10, 20, 30])
>>> c.shape
(3,)
>>> a+c
array([[11, 21, 31],
 [12, 22, 32]])

數(shù)組和一個數(shù)字的加減乘除的運算,相當于一個廣播,把這個運算廣播到各個元素中去。

>>> a = np.array([[1,2],[3,4],[5,6]]) 
>>> a*2#相當于a中各個元素都乘以2.類似于廣播。 
array([[ 2, 4], 
 [ 6, 8], 
 [10, 12]]) 
>>> a**2 
array([[ 1, 4], 
 [ 9, 16], 
 [25, 36]]) 
>>> a>3 
array([[False, False], 
 [False, True], 
 [ True, True]]) 
>>> a+3 
array([[4, 5], 
 [6, 7], 
 [8, 9]]) 
>>> a/2 
array([[0.5, 1. ], 
 [1.5, 2. ], 
 [2.5, 3. ]]) 

方法一:

利用查找中的方法,比如a=a[0],操作完居后,a的行數(shù)只剩一行了。

>>> a = np.array([[1,2],[3,4],[5,6]]) 
>>> a[0] 
array([1, 2]) 

方法二:

>>> a = np.array([[1,2],[3,4],[5,6]]) 
>>> np.delete(a,1,axis = 0)#刪除a的第二行。 
array([[1, 2], 
 [5, 6]]) 
>>> np.delete(a,(1,2),0)#刪除a的第二,三行。 
array([[1, 2]]) 
>>> np.delete(a,1,axis = 1)#刪除a的第二列。 
array([[1], 
 [3], 
 [5]]) 

方法三:

先分割,再按切片a=a[0]賦值。

>>> a = np.array([[1,2],[3,4],[5,6]]) 
>>> np.hsplit(a,2)#水平分割(搞不懂,明明是垂直分割嘛?) 
[array([[1], 
 [3], 
 [5]]), array([[2], 
 [4], 
 [6]])] 
>>> np.split(a,2,axis = 1)#與np.hsplit(a,2)效果一樣。 
 
>>> np.vsplit(a,3) 
[array([[1, 2]]), array([[3, 4]]), array([[5, 6]])] 
>>> np.split(a,3,axis = 0)#與np.vsplit(a,3)效果一樣。 

以上這篇Numpy array數(shù)據的增、刪、改、查實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python+OpenCV人臉識別簽到考勤系統(tǒng)實現(xiàn)(附demo)

    Python+OpenCV人臉識別簽到考勤系統(tǒng)實現(xiàn)(附demo)

    本文主要介紹了Python+OpenCV人臉識別簽到考勤系統(tǒng)實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • 快速了解Python中的裝飾器

    快速了解Python中的裝飾器

    這篇文章主要介紹了快速了解Python中的裝飾器,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Python常用Web框架Django、Flask與Tornado介紹

    Python常用Web框架Django、Flask與Tornado介紹

    這篇文章介紹了Python常用Web框架Django、Flask與Tornado,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • Python3多線程爬蟲實例講解代碼

    Python3多線程爬蟲實例講解代碼

    本篇文章主要介紹了Python3多線程爬蟲實例講解代碼,Python3使用threading模塊來進行多線程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • 解決Python 進程池Pool中一些坑

    解決Python 進程池Pool中一些坑

    這篇文章主要介紹了解決Python 進程池Pool中一些坑,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python爬蟲的一個常見簡單js反爬詳解

    python爬蟲的一個常見簡單js反爬詳解

    這篇文章主要介紹了python爬蟲的一個常見簡單js反爬詳解我們在寫爬蟲是遇到最多的應該就是js反爬了,今天分享一個比較常見的js反爬,我把js反爬分為參數(shù)由js加密生成和js生成cookie等來操作瀏覽器這兩部分,需要的朋友可以參考下
    2019-07-07
  • python?matplotlib繪圖詳解大全(非常詳細!)

    python?matplotlib繪圖詳解大全(非常詳細!)

    這篇文章主要給大家介紹了關于python?matplotlib繪圖詳解的相關資料,matplotlib是python中用于繪制各種圖像的模塊,功能十分強大,通常與pandas模塊搭配使用,可以生成各種樣視的圖片,用于數(shù)據的分析和展示,需要的朋友可以參考下
    2023-09-09
  • python使用ctypes調用dll遇到的坑解決記錄

    python使用ctypes調用dll遇到的坑解決記錄

    這篇文章主要為大家介紹了python使用ctypes調用dll遇到的坑解決記錄,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 手把手教你在Pycharm中新建虛擬環(huán)境并使用(超詳細!)

    手把手教你在Pycharm中新建虛擬環(huán)境并使用(超詳細!)

    使用python開發(fā)項目通常都會創(chuàng)建一個虛擬環(huán)境,將項目依賴包安裝到虛擬環(huán)境中,避免一臺電腦上開發(fā)多個項目時依賴包版本號不兼容造成沖突,下面這篇文章主要給大家介紹了關于如何在Pycharm中新建虛擬環(huán)境并使用的相關資料,需要的朋友可以參考下
    2022-06-06
  • Python中三維坐標空間繪制的實現(xiàn)

    Python中三維坐標空間繪制的實現(xiàn)

    這篇文章主要介紹了Python中三維坐標空間繪制的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09

最新評論