Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ringkasan fungsi yang biasa digunakan dalam perpustakaan Numpy: alat yang berkuasa untuk analisis dan pemodelan data

Ringkasan fungsi yang biasa digunakan dalam perpustakaan Numpy: alat yang berkuasa untuk analisis dan pemodelan data

WBOY
WBOYasal
2024-01-19 09:10:07968semak imbas

Ringkasan fungsi yang biasa digunakan dalam perpustakaan Numpy: alat yang berkuasa untuk analisis dan pemodelan data

Numpy ialah salah satu perpustakaan matematik yang paling biasa digunakan dalam Python, yang menyepadukan banyak fungsi dan operasi matematik terbaik. Numpy digunakan secara meluas, termasuk statistik, algebra linear, pemprosesan imej, pembelajaran mesin, rangkaian saraf dan bidang lain. Dari segi analisis dan pemodelan data, Numpy adalah salah satu alat yang sangat diperlukan. Artikel ini akan berkongsi fungsi matematik yang biasa digunakan dalam Numpy, serta kod sampel untuk menggunakan fungsi ini untuk melaksanakan analisis dan pemodelan data.

1 Buat tatasusunan

Gunakan fungsi array() dalam Numpy untuk mencipta contoh kod: array()函数可以创建一个数组,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr)

这会输出 [1 2 3 4 5],表示创建了一个一维数组。

我们还可以创建一个二维数组,代码示例:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr)

这会输出:

[[1 2 3]
 [4 5 6]]

表示创建了一个二维数组。

二、数组属性

使用Numpy中的ndimshapesize属性可以获取数组的维度、形状和元素个数,代码示例:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.ndim)  # 输出 2,表示数组是二维的
print(arr.shape)  # 输出 (2, 3),表示数组有2行3列
print(arr.size)  # 输出 6,表示数组有6个元素

三、数组的运算

Numpy数组可以进行加、减、乘、除等运算。首先看一下给数组加一个标量的运算,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr + 2)  # 输出 [3 4 5 6 7]

表示数组中的每个元素都加上了2。

接下来是两个数组相加的运算,代码示例:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
print(arr1 + arr2)  # 输出 [5 7 9]

表示两个数组中对应的元素相加。

Numpy还提供了一些特定的运算,例如:

  • 平方运算:使用power()函数,代码示例:

    import numpy as np
    
    arr = np.array([1, 2, 3, 4, 5])
    print(np.power(arr, 2))  # 输出 [ 1  4  9 16 25]

    这表示数组中的每个元素都平方了。

  • 开方运算:使用sqrt()函数,代码示例:

    import numpy as np
    
    arr = np.array([1, 4, 9, 16, 25])
    print(np.sqrt(arr))  # 输出 [1. 2. 3. 4. 5.]

    这表示数组中的每个元素都开方了。

  • 求和:使用sum()函数,代码示例:

    import numpy as np
    
    arr = np.array([1, 2, 3, 4, 5])
    print(np.sum(arr))  # 输出 15

    这表示数组中的所有元素求和。

  • 求最大值和最小值:使用max()min()函数,代码示例:

    import numpy as np
    
    arr = np.array([1, 2, 3, 4, 5])
    print(np.max(arr))  # 输出 5,表示数组中的最大值
    print(np.min(arr))  # 输出 1,表示数组中的最小值

四、数组的索引和切片

我们可以使用下标来访问数组中的元素,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr[0])  # 输出 1,表示数组中的第一个元素

我们还可以对数组进行切片操作,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr[1:4])  # 输出 [2 3 4],表示从数组中取出第2个到第4个元素

五、数组形状的变换

Numpy中提供了一些函数用于改变数组的形状,其中之一是reshape()函数。我们可以使用reshape()函数重塑数组的形状,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr.reshape(5, 1))

这会返回一个形状为(5, 1)的二维数组:

[[1]
 [2]
 [3]
 [4]
 [5]]

六、数组的合并与拆分

Numpy中提供了一些函数用于合并和拆分数组。

我们可以使用concatenate()函数将两个数组沿着某个维度合并,代码示例:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
print(np.concatenate((arr1, arr2)))  # 输出 [1 2 3 4 5 6]

我们还可以使用vstack()hstack()函数将两个数组水平或垂直堆叠在一起,代码示例:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

# 垂直堆叠
print(np.vstack((arr1, arr2)))  # 输出 [[1 2 3] [4 5 6]]

# 水平堆叠
print(np.hstack((arr1, arr2)))  # 输出 [1 2 3 4 5 6]

我们还可以使用split()函数将一个数组拆分成多个数组,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(np.split(arr, 5))  # 输出 [array([1]), array([2]), array([3]), array([4]), array([5])]

这会将数组拆分成5个一维数组,每个数组中只包含一个元素。

七、综合示例

现在,我们将使用Numpy中的函数实现一个简单的数据分析和建模的例子。

示例:假设你有100个学生的成绩,你想计算他们的平均成绩、最高成绩和最低成绩。

首先,我们用random()函数生成100个随机数,并使用mean()max()min()函数计算它们的平均值、最高值和最低值,代码示例:

import numpy as np

grades = np.random.randint(50, 100, 100)  # 生成50到100之间的100个随机数
print("平均成绩:", np.mean(grades))
print("最高成绩:", np.max(grades))
print("最低成绩:", np.min(grades))

接下来,我们将使用histogram()函数生成一个成绩的直方图,代码示例:

import matplotlib.pyplot as plt
import numpy as np

grades = np.random.randint(50, 100, 100)  # 生成50到100之间的100个随机数
hist, bins = np.histogram(grades, bins=10, range=(50, 100))

plt.hist(grades, bins=10, range=(50, 100))
plt.show()

最后,我们将使用percentile()

import numpy as np

grades = np.random.randint(50, 100, 100)  # 生成50到100之间的100个随机数
print("90%的成绩高于:", np.percentile(grades, 90))

Ini akan mengeluarkan [1 2 3 4 5], menunjukkan bahawa satu. tatasusunan -dimensi telah dibuat.

Kita juga boleh mencipta tatasusunan dua dimensi, contoh kod: 🎜rrreee🎜Ini akan mengeluarkan: 🎜rrreee🎜Menunjukkan tatasusunan dua dimensi dicipta. 🎜🎜2. Atribut tatasusunan🎜🎜Gunakan atribut ndim, shape dan size dalam Numpy untuk mendapatkan dimensi, bentuk dan bilangan elemen tatasusunan , Contoh kod: 🎜rrreee🎜 3. Operasi tatasusunan 🎜🎜 Tatasusunan numpy boleh melakukan operasi seperti tambah, tolak, darab dan bahagi. Mula-mula, mari kita lihat operasi menambah skalar pada tatasusunan Contoh kod: 🎜rrreee🎜 bermakna 2 ditambahkan pada setiap elemen dalam tatasusunan. 🎜🎜Langkah seterusnya ialah operasi menambah dua tatasusunan contoh: 🎜rrreee🎜 bermaksud menambah elemen yang sepadan dalam dua tatasusunan. 🎜🎜Numpy juga menyediakan beberapa operasi khusus, seperti: 🎜
  • 🎜Operasi segi empat sama: gunakan fungsi power(), contoh kod: 🎜rrreee🎜Ini bermakna setiap elemen dalam tatasusunan Unsur-unsur adalah kuasa dua. 🎜
  • 🎜Kendalian punca kuasa dua: Gunakan fungsi sqrt(), contoh kod: 🎜rrreee🎜Ini bermakna setiap elemen dalam tatasusunan telah diduakan. 🎜
  • 🎜Jumlah: Gunakan fungsi sum(), contoh kod: 🎜rrreee🎜Ini bermakna menjumlahkan semua elemen dalam tatasusunan. 🎜
  • 🎜Cari nilai maksimum dan minimum: gunakan fungsi max() dan min(), contoh kod: 🎜rrreee
  • 🎜4. Pengindeksan dan penghirisan tatasusunan🎜🎜Kita boleh menggunakan subskrip untuk mengakses elemen dalam tatasusunan, contoh kod: 🎜rrreee🎜Kita juga boleh menghiris tatasusunan, contoh kod: 🎜rrreee🎜5 🎜Numpy menyediakan beberapa fungsi untuk menukar bentuk tatasusunan, salah satunya ialah fungsi reshape(). Kita boleh menggunakan fungsi reshape() untuk membentuk semula contoh kod: 🎜rrreee🎜Ini akan mengembalikan tatasusunan dua dimensi dengan bentuk (5, 1): 🎜rrreee🎜 6. Menggabungkan. of Arrays & Splitting 🎜🎜Numpy menyediakan beberapa fungsi untuk menggabungkan dan membelah tatasusunan. 🎜🎜Kita boleh menggunakan fungsi concatenate() untuk menggabungkan dua tatasusunan sepanjang dimensi tertentu, contoh kod: 🎜rrreee🎜Kita juga boleh menggunakan vstack() dan hstack() menyusun dua tatasusunan bersama-sama secara mendatar atau menegak, contoh kod: 🎜rrreee🎜Kita juga boleh menggunakan fungsi split() untuk memisahkan tatasusunan kepada berbilang tatasusunan , contoh kod: 🎜rrreee🎜Ini akan membahagi tatasusunan kepada 5 tatasusunan satu dimensi, setiap satu mengandungi hanya satu elemen. 🎜🎜7. Contoh Komprehensif🎜🎜Kini, kami akan menggunakan fungsi dalam Numpy untuk melaksanakan analisis data dan contoh pemodelan. 🎜🎜Contoh: Katakan anda mempunyai markah 100 pelajar dan anda ingin mengira skor purata, markah tertinggi dan markah terendah mereka. 🎜🎜Pertama, kami menggunakan fungsi random() untuk menjana 100 nombor rawak dan menggunakan min(), max() dan Fungsi min() mengira nilai purata, tertinggi dan terendahnya, contoh kod: 🎜rrreee🎜Seterusnya, kami akan menggunakan fungsi histogram() untuk menjana histogram skor, Kod contoh: 🎜rrreee🎜Akhirnya, kami akan menggunakan fungsi percentile() untuk mengira peratusan gred contoh: 🎜rrreee🎜Di atas ialah fungsi Numpy biasa yang diringkaskan dalam artikel ini boleh membantu kami Melaksanakan analisis dan pemodelan data. Harap kod sampel ini dapat membantu pembaca memahami dengan lebih baik. 🎜

Atas ialah kandungan terperinci Ringkasan fungsi yang biasa digunakan dalam perpustakaan Numpy: alat yang berkuasa untuk analisis dan pemodelan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn