numpy的Fancy Indexing和array比較詳解

 更新時間:2020-06-14 01:15:45   作者:佚名   我要評論(0)

一:Fancy Indexing




import numpy as np

#Fancy Indexing
x = np.arange(16)
np.random.shuffle(x)
print(x) #打印所有的元素


print(x[2])#獲取某個元素

一:Fancy Indexing

import numpy as np
 
#Fancy Indexing
x = np.arange(16)
np.random.shuffle(x)
print(x) #打印所有的元素
 
 
print(x[2])#獲取某個元素的值
print(x[1:3])#切片
print(x[3:9:2])#指定間距切片
 
index = [2,4,7,9] #索引數組
print(x[index])#獲取索引數組中的元素的值
 
ind = np.array([[0,2],[1,4]]) #索引二維數組
print(x[ind])##獲取索引二維數組中的元素的值
 
print("---------------------")
 
X = x.reshape(4,-1)
print(X)
 
ind1 = np.array([1,3]) #行的索引
ind2 = np.array([2,0]) #列的索引
print(X[ind1,ind2])
 
print(X[:-2,ind2])
 
bool_index = [True,False,True,False] #True就取當前列,False就不取
print(X[:-1,bool_index])

Fancy Indexing 應用在一維數組 

x = np.arange(16) 
x[3] # 3
x[3:9] # array([3, 4, 5, 6, 7, 8])
x[3:9:2] # array([3, 5, 7])
[x[3], x[5], x[7]] # [3, 5, 7]
ind = [3, 5, 7] 
x[ind]  # array([3, 5, 7])
ind = np.array([[0, 2], [1, 3]]) 
x[ind] 
"""
array([[0, 2],
    [1, 3]])
"""

Fancy Indexing 應用在二維數組 

X = x.reshape(4, -1) 
"""
array([[ 0, 1, 2, 3],
    [ 4, 5, 6, 7],
    [ 8, 9, 10, 11],
    [12, 13, 14, 15]])
"""
row = np.array([0, 1, 2]) 
col = np.array([1, 2, 3])
# 1行2列,2行3列,3行4列
X[row, col]  # array([ 1, 6, 11])
# 前2行 2,3,4列
X[:2, col] 
"""
array([[1, 2, 3],
    [5, 6, 7]])
"""
col = [True, False, True, True] 
X[0, col]  # array([0, 2, 3])

二:array比較

import numpy as np
 
x = np.arange(16)
print(x)
 
print(x < 3) #返回的是bool數組
 
print(x == 3)
 
print(x != 3)
 
print(x * 4 == 24 - 4 * x)
 
 
 
print(x + 1)
 
print(x * 2)
 
print(x / 4)
 
print(x - 10)
 
print(np.sum(x<3))#返回小于3的元素個數
 
print(np.any(x==0)) #只要向量x中有等于0的就返回true
 
print(np.all(x==0)) #只有向量x中全部等于0才返回true
 
print(x[x<5]) #因為x<5返回的是bool數組,我們取true的元素的值
 
 
#二維的同樣支持
print("----------------------")
X = x.reshape(4,-1)
 
print(X)
print(X<3)
print(x == 3)
print(np.sum(X<4))
print(np.count_nonzero(X<5)) #返回X中小于5的不等于0的個數
print(np.any(X==0)) #只要向量x中有等于0的就返回true
 
print(np.all(X==0)) #只有向量x中全部等于0才返回true
 
print(np.sum(X<4,axis=1))#沿著列的方向,計算每行小于4的個數
 
print(np.sum((X>3)&(X<10))) #計算X中大于3并且小于10的個數
 
print(np.sum(~(X==0))) #計算X中不等于0的個數
 
print(X[X[:,3]%3==0,:]) #因為X[:,3]%3==0返回的是一個向量,元素為true,false,false,true,所以最后取第一行和最后一行

到此這篇關于numpy的Fancy Indexing和array比較詳解的文章就介紹到這了,更多相關numpy Fancy Indexing和array比較內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

  • Numpy array數據的增、刪、改、查實例
  • 基于Python Numpy的數組array和矩陣matrix詳解
  • numpy返回array中元素的index方法
  • 對numpy中array和asarray的區別詳解
  • Python中Numpy ndarray的使用詳解
  • 對numpy Array [: ,] 的取值方法詳解
  • python實現list由于numpy array的轉換
  • 詳解將Pandas中的DataFrame類型轉換成Numpy中array類型的三種方法
  • numpy.ndarray 交換多維數組(矩陣)的行/列方法
  • 詳談Python中列表list,元祖tuple和numpy中的array區別
  • Python numpy.array()生成相同元素數組的示例

相關文章

  • numpy的Fancy Indexing和array比較詳解

    numpy的Fancy Indexing和array比較詳解

    一:Fancy Indexing import numpy as np #Fancy Indexing x = np.arange(16) np.random.shuffle(x) print(x) #打印所有的元素 print(x[2])#獲取某個元素
    2020-06-14
  • python屬于解釋語言嗎

    python屬于解釋語言嗎

    Python是一門解釋型語言? Python是一門解釋性語言,我就這樣一直相信下去,直到發現了*.pyc文件的存在。 如果是解釋型語言,那么生成的*.pyc文件是什么呢?c應該是
    2020-06-14
  • 使用sklearn對多分類的每個類別進行指標評價操作

    使用sklearn對多分類的每個類別進行指標評價操作

    今天晚上,筆者接到客戶的一個需要,那就是:對多分類結果的每個類別進行指標評價,也就是需要輸出每個類型的精確率(precision),召回率(recall)以及F1值(F1-s
    2020-06-14
  • python能開發游戲嗎

    python能開發游戲嗎

    python可以寫游戲,但不適合。下面我們來分析一下具體原因。 用錘子能造汽車嗎? 誰也沒法說不能吧?歷史上也確實曾經有些汽車,是用錘子造出來的。但一般來說,還是
    2020-06-14
  • python編寫softmax函數、交叉熵函數實例

    python編寫softmax函數、交叉熵函數實例

    python代碼如下: import numpy as np # Write a function that takes as input a list of numbers, and returns # the list of values given by the softmax
    2020-06-14
  • python開發前景如何

    python開發前景如何

    隨著近幾年Python的飛速發展,應用范圍逐步趨于廣泛,后端開發、前端開發、爬蟲、金融量化分析、人工智能、自動化運維、自動化運維、大數據,Python都有涉及。Pytho
    2020-06-14
  • 新手學python應該下哪個版本

    新手學python應該下哪個版本

    想學習Python的人都會有一個困惑,那就是Python目前有兩個版本Python2和Python3,Python2與Python3有何區別,兩個版本該學習哪個呢? python3 和 python2是不兼容的
    2020-06-14
  • python的help函數如何使用

    python的help函數如何使用

    help函數是python的一個內置函數,在python基礎知識中介紹過什么是內置函數,它是python自帶的函數,任何時候都可以被使。help函數能作什么、怎么使用help函數查看p
    2020-06-14
  • keras實現多種分類網絡的方式

    keras實現多種分類網絡的方式

    Keras應該是最簡單的一種深度學習框架了,入門非常的簡單. 簡單記錄一下keras實現多種分類網絡:如AlexNet、Vgg、ResNet 采用kaggle貓狗大戰的數據作為數據集. 由于
    2020-06-14
  • 基于python實現模擬數據結構模型

    基于python實現模擬數據結構模型

    模擬棧 Stack() 創建一個空的新棧。 它不需要參數,并返回一個空棧。 push(item)將一個新項添加到棧的頂部。它需要 item 做參數并不返回任何內容。 pop()
    2020-06-14

最新評論

买宝宝用品赚钱吗 河南快三购买平台 481走势图最近200期 海南环岛火车旅游攻略 广西11选5app 甘肃快三走势图一定牛 海南体彩4十l开奖号码 盛鑫配资 甘肃11选五5中奖规则 甘肃省快3开奖结果 十一选五安卓版下载 浙江6+1开奖软件 广西福彩官网快三 海南4+1玩法。特殊号码的哪个 基金配资申请 大仙一头一尾免费料 资产配置类基金管理人