在Python中創建和操縱Numpy陣列
NumPy数组操作包括创建、查看属性、修改形状和拼接拆分。1. 创建方法有列表转换及zeros、ones、arange、linspace等内置函数;2. 查看属性可通过shape、ndim、dtype、size了解结构;3. 修改可用reshape、ravel、flatten及索引赋值,注意视图与副本区别;4. 拼接使用hstack、vstack,拆分用hsplit、vsplit,适用于多数据集处理。掌握这些常用操作能显著提升科学计算效率。
处理 NumPy 数组是 Python 中进行科学计算和数据分析的基础。如果你刚开始接触 NumPy,可能会觉得数组的创建和操作有些复杂,但其实只要掌握几个关键方法,就能快速上手。

创建 NumPy 数组
创建数组是最基础的操作之一。最常用的方式是从 Python 的列表或者元组转换而来:
import numpy as np arr = np.array([1, 2, 3]) # 一维数组 matrix = np.array([[1, 2], [3, 4]]) # 二维数组
除了这种方式,还可以使用内置函数来生成特定结构的数组:

np.zeros((3, 2))
:创建一个 3 行 2 列的全零数组np.ones((2, 2))
:创建一个 2x2 的全一数组np.arange(0, 10, 2)
:类似 range,生成从 0 到 10(不包含)步长为 2 的数组np.linspace(0, 1, 5)
:在 0 到 1 之间等距生成 5 个数
这些方法可以满足大多数初始化需求,而且效率比用循环构造要高很多。
查看数组的基本属性
刚创建好数组后,通常需要了解它的基本结构,比如形状、数据类型、维度等:

arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr.shape) # 输出 (2, 3),表示 2 行 3 列 print(arr.ndim) # 输出 2,表示是二维数组 print(arr.dtype) # 输出 int64,表示元素类型 print(arr.size) # 输出 6,表示总共有 6 个元素
这些属性在调试或处理大型数据集时非常有用,能帮助你快速判断数组是否符合预期。
修改数组的形状与内容
NumPy 提供了多种方式来改变数组的形状和内容:
- 使用
.reshape()
改变数组结构 - 使用
.ravel()
或.flatten()
展平数组 - 使用索引和切片修改部分值
例如:
arr = np.arange(6) reshaped = arr.reshape(2, 3) # 修改某个位置的值 reshaped[0, 1] = 99
注意,.ravel()
返回的是原数组的视图(view),而 .flatten()
返回的是副本(copy),这点在做数据处理时容易忽略,但会影响后续操作是否修改原始数据。
数组的拼接与拆分
当你处理多个数组时,可能需要将它们合并或拆开。NumPy 提供了几个实用函数:
- 横向拼接:
np.hstack((a, b))
- 纵向拼接:
np.vstack((a, b))
- 拆分数组:
np.hsplit()
和np.vsplit()
举个例子:
a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) combined = np.vstack((a, b)) # 合并成 4 行 2 列的数组
这种操作在处理分批次加载的数据时特别常见,比如图像处理或机器学习训练数据拼接。
基本上就这些。NumPy 数组的创建和操作看起来种类多,但一旦熟悉了常用函数,你会发现它非常灵活高效。刚开始时多练习几种创建方式和变形操作,后面用起来会顺手很多。
以上是在Python中創建和操縱Numpy陣列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

多態是Python面向對象編程中的核心概念,指“一種接口,多種實現”,允許統一處理不同類型的對象。 1.多態通過方法重寫實現,子類可重新定義父類方法,如Animal類的speak()方法在Dog和Cat子類中有不同實現。 2.多態的實際用途包括簡化代碼結構、增強可擴展性,例如圖形繪製程序中統一調用draw()方法,或遊戲開發中處理不同角色的共同行為。 3.Python實現多態需滿足:父類定義方法,子類重寫該方法,但不要求繼承同一父類,只要對象實現相同方法即可,這稱為“鴨子類型”。 4.注意事項包括保持方

"Hello,World!"程序是用Python編寫的最基礎示例,用於展示基本語法並驗證開發環境是否正確配置。 1.它通過一行代碼print("Hello,World!")實現,運行後會在控制台輸出指定文本;2.運行步驟包括安裝Python、使用文本編輯器編寫代碼、保存為.py文件、在終端執行該文件;3.常見錯誤有遺漏括號或引號、誤用大寫Print、未保存為.py格式以及運行環境錯誤;4.可選工具包括本地文本編輯器 終端、在線編輯器(如replit.com)

要生成隨機字符串,可以使用Python的random和string模塊組合。具體步驟為:1.導入random和string模塊;2.定義字符池如string.ascii_letters和string.digits;3.設定所需長度;4.調用random.choices()生成字符串。例如代碼包括importrandom與importstring、設置length=10、characters=string.ascii_letters string.digits並執行''.join(random.c

AlgorithmsinPythonareessentialforefficientproblem-solvinginprogramming.Theyarestep-by-stepproceduresusedtosolvetaskslikesorting,searching,anddatamanipulation.Commontypesincludesortingalgorithmslikequicksort,searchingalgorithmslikebinarysearch,andgrap

ListslicinginPythonextractsaportionofalistusingindices.1.Itusesthesyntaxlist[start:end:step],wherestartisinclusive,endisexclusive,andstepdefinestheinterval.2.Ifstartorendareomitted,Pythondefaultstothebeginningorendofthelist.3.Commonusesincludegetting

類方法是Python中通過@classmethod裝飾器定義的方法,其第一個參數為類本身(cls),用於訪問或修改類狀態。它可通過類或實例調用,影響的是整個類而非特定實例;例如在Person類中,show_count()方法統計創建的對像數量;定義類方法時需使用@classmethod裝飾器並將首參命名為cls,如change_var(new_value)方法可修改類變量;類方法與實例方法(self參數)、靜態方法(無自動參數)不同,適用於工廠方法、替代構造函數及管理類變量等場景;常見用途包括從

Python的csv模塊提供了讀寫CSV文件的簡單方法。 1.讀取CSV文件時,可使用csv.reader()逐行讀取,並將每行數據作為字符串列表返回;若需通過列名訪問數據,則可用csv.DictReader(),它將每行映射為字典。 2.寫入CSV文件時,使用csv.writer()並調用writerow()或writerows()方法寫入單行或多行數據;若要寫入字典數據,則使用csv.DictWriter(),需先定義列名並通過writeheader()寫入表頭。 3.處理邊緣情況時,模塊自動處理

參數(parameters)是定義函數時的佔位符,而傳參(arguments)是調用時傳入的具體值。 1.位置參數需按順序傳遞,順序錯誤會導致結果錯誤;2.關鍵字參數通過參數名指定,可改變順序且提高可讀性;3.默認參數值在定義時賦值,避免重複代碼,但應避免使用可變對像作為默認值;4.args和*kwargs可處理不定數量的參數,適用於通用接口或裝飾器,但應謹慎使用以保持可讀性。
