Numpy計數的應用

一、常規計數

在數據分析和科學計算時,經常需要進行計數操作。使用numpy中的count_nonzero函數可以方便地對數組中的非零元素進行計數。

import numpy as np

# 生成數組
arr = np.array([[1, 2, 3], [0, 4, 5], [6, 0, 8]])

# 計算非零元素個數
count = np.count_nonzero(arr)
print(count) # 輸出:7

count_nonzero函數還支持在某個軸上進行計數,如在行上計數:

# 對行進行計數
count_row = np.count_nonzero(arr, axis=1)
print(count_row) # 輸出:[3 2 2]

二、統計計數

在數據分析中,經常需要進行統計計數,比如統計一組數中每個數字出現的次數,可以使用numpy中的unique函數和bincount函數實現。

使用unique函數可以找到數組中的唯一值,然後使用bincount函數進行計數:

# 生成隨機數組
arr = np.random.randint(low=1, high=6, size=10)
print(arr) # 輸出:[2 2 1 2 5 2 1 4 2 3]

# 統計每個數字出現的次數
unique, counts = np.unique(arr, return_counts=True)
counts_each_num = np.zeros(6, dtype=int)
counts_each_num[unique] = counts
print(counts_each_num) # 輸出:[0 2 5 1 1 1]

如果需要快速統計一組數中每個數字出現的次數,可以使用numpy中的bincount函數:

# 使用bincount函數統計每個數字出現的次數
counts_each_num = np.bincount(arr)
print(counts_each_num) # 輸出:[0 2 5 1 1 1]

三、條件計數

在進行數據篩選時,經常需要對符合條件的數據進行計數。可以使用numpy中的where函數和count_nonzero函數實現條件計數。

如統計數組中大於3的元素個數:

# 使用where函數找到大於3的元素的索引
idx = np.where(arr > 3)

# 使用count_nonzero函數計算元素個數
count = np.count_nonzero(arr[idx])
print(count) # 輸出:2

四、行列互換計數

在進行數據分析時,經常需要對矩陣進行行列互換,並對新矩陣進行計數。可以使用numpy中的transpose函數和count_nonzero函數實現。

例如,對下面的矩陣進行行列互換,然後計算非零元素的個數:

# 生成2*3的矩陣
arr = np.array([[0, 1, 2], [3, 4, 5]])

# 對矩陣進行行列互換
new_arr = np.transpose(arr)

# 計算非零元素個數
count = np.count_nonzero(new_arr)
print(count) # 輸出:6

五、多維計數

在進行多維數據分析時,經常需要進行多維計數操作。numpy中提供了ravel函數可以將多維數組展平為一維,然後進行計數。同時也可以在指定軸上進行計數。

例如,對3維矩陣進行計數:

# 生成3維矩陣
arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

# 將3維矩陣展平為一維,然後進行計數
count = np.count_nonzero(np.ravel(arr))
print(count) # 輸出:8

# 在指定軸(第2個軸)上進行計數
count_axis = np.count_nonzero(arr, axis=1)
print(count_axis) # 輸出:[[2 2] [2 2]]

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/238877.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:13
下一篇 2024-12-12 12:13

相關推薦

  • Python矩陣轉置函數Numpy

    本文將介紹如何使用Python中的Numpy庫實現矩陣轉置。 一、Numpy庫簡介 在介紹矩陣轉置之前,我們需要了解一下Numpy庫。Numpy是Python語言的計算科學領域的基…

    編程 2025-04-28
  • Python列錶轉numpy數組

    本文將闡述Python中列表如何轉換成numpy數組。在科學計算和數據分析領域中,numpy數組扮演著重要的角色。Python與numpy的無縫結合使得數據操作更加方便和高效。因此…

    編程 2025-04-27
  • Python三大:NumPy、Pandas、matplotlib

    本文將詳細介紹三大Python數據處理及可視化庫——NumPy、Pandas以及matplotlib,為讀者提供從基礎使用到應用場景的全面掌握。 一、NumPy NumPy是Pyt…

    編程 2025-04-27
  • numpy中np.sort函數返回索引的使用方法

    本文將會提供關於使用numpy中np.sort函數返回索引的詳細解釋和使用方法 一、np.sort函數返回索引的基本語法 numpy中的np.sort函數可以將數組按照從小到大的順…

    編程 2025-04-25
  • NumPy的delete函數詳解

    一、delete函數簡介 NumPy是Python中常用的科學計算庫,它提供了許多方便的函數和工具來處理數值數據。其中,delete函數是一個用於刪除數組中某些元素的函數。其函數原…

    編程 2025-04-24
  • numpy ravel函數

    一、ravel函數的簡介 在NumPy中,ravel函數的作用是將一個多維數組壓縮成一維數組。這個函數返回一個扁平化之後的一維數組,這個數組會參考原始數組的內存結構,所以它會返回一…

    編程 2025-04-24
  • numpy dot詳解

    一、dot的介紹 numpy中的dot函數是矩陣的乘法運算符,也可以描述為矩陣的點積運算。它的作用是將兩個數組中的對應元素相乘,然後將結果相加。在機器學習和深度學習中,矩陣運算通常…

    編程 2025-04-23
  • 詳解numpy zeros

    一、創建數組 使用numpy庫中的zeros函數能夠創建指定維度的零數組,函數用法如下: numpy.zeros(shape, dtype=float, order=’C’) 其中…

    編程 2025-04-23
  • numpy中文手冊詳解

    一、介紹numpy numpy是一個Python第三方庫,提供了數組和矩陣運算的高效操作方法以及各種數學函數的實現,同時numpy也是進行數據分析及科學計算的基礎包之一。 引入nu…

    編程 2025-04-23
  • 深入了解numpy.datetime64

    一、numpy.datetime64簡介 NumPy是一個功能強大的Python庫,提供了大量的數學和科學計算功能,其中numpy.datetime64是其提供的日期和時間處理類之…

    編程 2025-04-22

發表回復

登錄後才能評論