日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

關(guān)于 Python 數(shù)據(jù)分析的 15 個(gè) NumPy 應(yīng)用

來源: 責(zé)編: 時(shí)間:2024-06-06 17:41:37 160觀看
導(dǎo)讀歡迎來到Python數(shù)據(jù)分析的世界!對(duì)于初學(xué)者來說,NumPy是你的第一站,它是Python科學(xué)計(jì)算的基石,特別是當(dāng)你想要處理數(shù)組和進(jìn)行大規(guī)模數(shù)據(jù)操作時(shí)。本文專為那些希望深入了解并掌握NumPy核心功能的數(shù)據(jù)分析新手設(shè)計(jì)。我們將通

歡迎來到Python數(shù)據(jù)分析的世界!對(duì)于初學(xué)者來說,NumPy是你的第一站,它是Python科學(xué)計(jì)算的基石,特別是當(dāng)你想要處理數(shù)組和進(jìn)行大規(guī)模數(shù)據(jù)操作時(shí)。本文專為那些希望深入了解并掌握NumPy核心功能的數(shù)據(jù)分析新手設(shè)計(jì)。我們將通過10個(gè)實(shí)用的應(yīng)用示例,帶你從基礎(chǔ)操作到一些高級(jí)技巧,讓你的數(shù)據(jù)分析之旅更加順暢。nZF28資訊網(wǎng)——每日最新資訊28at.com

nZF28資訊網(wǎng)——每日最新資訊28at.com

1. 數(shù)組創(chuàng)建與基本操作

應(yīng)用示例:nZF28資訊網(wǎng)——每日最新資訊28at.com

創(chuàng)建數(shù)組:nZF28資訊網(wǎng)——每日最新資訊28at.com

import numpy as nparr = np.array([1, 2, 3, 4])print("簡單數(shù)組:", arr)

這段代碼創(chuàng)建了一個(gè)一維數(shù)組,并打印出來。nZF28資訊網(wǎng)——每日最新資訊28at.com

解釋:np.array()是創(chuàng)建NumPy數(shù)組的基本函數(shù),它接受列表、元組等作為輸入。nZF28資訊網(wǎng)——每日最新資訊28at.com

2. 維度變換

改變形狀:nZF28資訊網(wǎng)——每日最新資訊28at.com

arr_2d = arr.reshape(2, 2)print("二維數(shù)組:", arr_2d)

通過reshape,我們可以不改變數(shù)據(jù)的情況下,調(diào)整數(shù)組的形狀。nZF28資訊網(wǎng)——每日最新資訊28at.com

3. 數(shù)學(xué)運(yùn)算

加法與乘法:nZF28資訊網(wǎng)——每日最新資訊28at.com

arr_add = arr + 10arr_mult = arr * 2print("加10:", arr_add, "/n乘2:", arr_mult)

數(shù)學(xué)運(yùn)算在NumPy中可以直接對(duì)數(shù)組操作,非常高效。nZF28資訊網(wǎng)——每日最新資訊28at.com

4. 統(tǒng)計(jì)分析

求平均值與最大值:nZF28資訊網(wǎng)——每日最新資訊28at.com

mean_val = np.mean(arr)max_val = np.max(arr)print("平均值:", mean_val, "最大值:", max_val)

np.mean()和np.max()用于快速統(tǒng)計(jì)分析。nZF28資訊網(wǎng)——每日最新資訊28at.com

5. 布爾索引

篩選特定值:nZF28資訊網(wǎng)——每日最新資訊28at.com

bool_arr = arr > 2print("大于2的索引:", bool_arr)filtered_arr = arr[bool_arr]print("篩選結(jié)果:", filtered_arr)

布爾索引允許根據(jù)條件選擇數(shù)組元素。nZF28資訊網(wǎng)——每日最新資訊28at.com

6. 隨機(jī)數(shù)生成

生成隨機(jī)數(shù)組:nZF28資訊網(wǎng)——每日最新資訊28at.com

random_arr = np.random.rand(3, 3)print("3x3隨機(jī)數(shù)組:", random_arr)

np.random.rand()用于生成指定形狀的隨機(jī)數(shù)矩陣。nZF28資訊網(wǎng)——每日最新資訊28at.com

7. 線性代數(shù)操作

矩陣乘法:nZF28資訊網(wǎng)——每日最新資訊28at.com

mat1 = np.array([[1, 2], [3, 4]])mat2 = np.array([[5, 6], [7, 8]])product = np.dot(mat1, mat2)print("矩陣乘法結(jié)果:", product)

np.dot()進(jìn)行矩陣乘法,是機(jī)器學(xué)習(xí)中的基礎(chǔ)操作。nZF28資訊網(wǎng)——每日最新資訊28at.com

8. 廣播機(jī)制

不同形狀數(shù)組運(yùn)算:nZF28資訊網(wǎng)——每日最新資訊28at.com

broad_arr = arr + np.array([10, 10])print("廣播機(jī)制結(jié)果:", broad_arr)

NumPy的廣播機(jī)制允許不同形狀的數(shù)組進(jìn)行運(yùn)算。nZF28資訊網(wǎng)——每日最新資訊28at.com

9. 數(shù)據(jù)排序

排序數(shù)組:nZF28資訊網(wǎng)——每日最新資訊28at.com

sorted_arr = np.sort(arr)print("排序后的數(shù)組:", sorted_arr)

np.sort()按升序排序數(shù)組。nZF28資訊網(wǎng)——每日最新資訊28at.com

10. 文件讀寫

保存與加載數(shù)組:nZF28資訊網(wǎng)——每日最新資訊28at.com

np.save('my_array.npy', arr)loaded_arr = np.load('my_array.npy')print("從文件加載的數(shù)組:", loaded_arr)

使用np.save()和np.load()進(jìn)行數(shù)組的持久化存儲(chǔ)和讀取。nZF28資訊網(wǎng)——每日最新資訊28at.com

11.高級(jí)統(tǒng)計(jì)功能

分位數(shù)與標(biāo)準(zhǔn)差 :nZF28資訊網(wǎng)——每日最新資訊28at.com

# 分位數(shù)quartiles = np.percentile(arr, [25, 50, 75])print("四分位數(shù):", quartiles)# 標(biāo)準(zhǔn)差與方差std_dev = np.std(arr)variance = np.var(arr)print("標(biāo)準(zhǔn)差:", std_dev, "方差:", variance)

分位數(shù)和統(tǒng)計(jì)度量是評(píng)估數(shù)據(jù)分布的關(guān)鍵指標(biāo)。nZF28資訊網(wǎng)——每日最新資訊28at.com

12.高級(jí)索引與切片

花式索引 :nZF28資訊網(wǎng)——每日最新資訊28at.com

# 索引數(shù)組indices = np.array([[0, 1], [2, 2]])print("根據(jù)索引選取元素:", arr[indices])# 切片與步長sliced_arr = arr[1:4:2]  # 從第二個(gè)元素開始,每隔一個(gè)取一個(gè)print("切片結(jié)果:", sliced_arr)

花式索引讓你能以非常靈活的方式訪問數(shù)組元素。nZF28資訊網(wǎng)——每日最新資訊28at.com

13.內(nèi)存效率與視圖

使用視圖減少內(nèi)存消耗 :nZF28資訊網(wǎng)——每日最新資訊28at.com

view_arr = arr.view()view_arr[:] = 100  # 注意:這會(huì)改變?cè)瓟?shù)組,因?yàn)槭且晥Dprint("原數(shù)組變化后:", arr)

了解視圖和副本的區(qū)別對(duì)于處理大型數(shù)據(jù)集至關(guān)重要。nZF28資訊網(wǎng)——每日最新資訊28at.com

14.向量化操作的威力

向量化操作是NumPy的核心優(yōu)勢,相較于Python循環(huán),它們提供了極大的性能提升。nZF28資訊網(wǎng)——每日最新資訊28at.com

比較與邏輯操作 :nZF28資訊網(wǎng)——每日最新資訊28at.com

# 等于特定值的索引equals_three = arr == 3print("等于3的索引:", equals_three)# 邏輯與both_greater = (arr > 2) & (arr < 4)print("大于2且小于4的索引:", both_greater)

利用邏輯操作符進(jìn)行條件篩選,無需顯式循環(huán)。nZF28資訊網(wǎng)——每日最新資訊28at.com

15.性能優(yōu)化提示

  • 避免循環(huán):盡量使用向量化操作替代Python循環(huán)。
  • 使用einsum進(jìn)行復(fù)雜數(shù)組計(jì)算,它在某些情況下比直接的矩陣操作更快。
  • 數(shù)組預(yù)分配:預(yù)先確定數(shù)組大小并分配內(nèi)存,可以避免運(yùn)行時(shí)的內(nèi)存分配開銷。

本文鏈接:http://www.www897cc.com/showinfo-26-92465-0.html關(guān)于 Python 數(shù)據(jù)分析的 15 個(gè) NumPy 應(yīng)用

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 喔!React19 中的 Hook 可以寫在 If 條件判斷中了。Use 實(shí)踐:點(diǎn)擊按鈕更新數(shù)據(jù)

下一篇: 為了全面監(jiān)控用戶行為,我寫了個(gè)超級(jí)前端工具庫!

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 靖宇县| 元阳县| 江山市| 西乌珠穆沁旗| 白山市| 沭阳县| 吉木乃县| 旺苍县| 牡丹江市| 延边| 泗阳县| 西青区| 上犹县| 浦北县| 伊金霍洛旗| 博爱县| 大同县| 宁夏| 梧州市| 吴江市| 尉犁县| 安吉县| 桐柏县| 元阳县| 伊川县| 潜江市| 洛扎县| 吐鲁番市| 大安市| 土默特右旗| 当涂县| 炎陵县| 秦皇岛市| 凤城市| 华宁县| 来凤县| 和林格尔县| 琼中| 桃源县| 霍林郭勒市| 彭州市|