Python常用的陣列操作

2021-09-16 22:16:32 字數 4575 閱讀 7467

1. 在python學習的過程中,經常要建立陣列,對陣列裡面的元素進行操作,所以我們需要掌握python中對於陣列操作的基本語法

2. 下面是一些常用的陣列建立、賦值的一些語法:

其中需要使用到python中的numpy包,我們使用對陣列操作的相關函式需要匯入這個包

import numpy as np
numpy中的array方法(構造器方法): 

numpy.array(object, dtype = none, copy = true, order = none, subok = false, ndmin = 0)
序號

引數及描述

1.object任何暴露陣列介面方法的物件都會返回乙個陣列或任何(巢狀)序列。

2.dtype陣列的所需資料型別,可選。

3.copy可選,預設為true,物件是否被複製。

4.orderc(按行)、f(按列)或a(任意,預設)。

5.subok預設情況下,返回的陣列被強制為基類陣列。 如果為true,則返回子類。

6.ndmin指定返回陣列的最小維數

① 建立指定維度和資料型別的陣列:

a)numpy.array(引數列表)

b)調整陣列的大小:ndarray.shape(引數列表),這一陣列屬性返回乙個包含陣列維度的元組,此外reshape函式也可以用來調整陣列大小,用法與shape方法類似

# -*- coding: utf-8 -*-

"""created on sat apr 6 09:39:44 2019

"""import numpy as np

#numpy.array(object, dtype = none, copy = true, order = none, subok = false, ndmin = 0)

print('建立一維陣列: ')

a = np.array([1, 2, 3])

#輸完一行陣列資料之後換行

print(a, '\n')

print('建立二維陣列: ')

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

print(a, '\n')

#最小維度

a = np.array([1, 2, 3, 4, 5], ndmin = 2)

print(a, '\n')

#datatype資料型別 complex表示的是複數

a = np.array([1, 2, 3], dtype = np.float32)

print(a, '\n')

#調整陣列的大小: ndarray.shape

#這一陣列屬性返回乙個包含陣列維度的元組,它也可以用於調整陣列大小

print('調整陣列大小: ')

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

a.shape = (3, 2)

print(a, "\n")

#numpy 也提供了reshape函式來調整陣列大小

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

print(a.reshape(3, 2))

② 建立初始化陣列:

a)numpy.empty:它建立指定形狀和dtype的未初始化陣列。 它使用以下建構函式:

numpy.empty(shape, dtype = float, order = 'c')
構造器接受下列引數:

序號引數及描述

1.shape空陣列的形狀,整數或整數元組

2.dtype所需的輸出陣列型別,可選

3.order'c'為按行的 c 風格陣列,'f'為按列的 fortran 風格陣列

b)numpy.zeros:返回特定大小,以 0 填充的新陣列

numpy.zeros(shape, dtype = float, order = 'c')
構造器接受下列引數:

序號引數及描述

1.shape空陣列的形狀,整數或整數元組

2.dtype所需的輸出陣列型別,可選

3.order'c'為按行的 c 風格陣列,'f'為按列的 fortran 風格陣列

c)numpy.ones:返回特定大小,以 1 填充的新陣列

numpy.ones(shape, dtype = none, order = 'c')
構造器接受下列引數:

序號引數及描述

1.shape空陣列的形狀,整數或整數元組

2.dtype所需的輸出陣列型別,可選

3.order'c'為按行的 c 風格陣列,'f'為按列的 fortran 風格陣列

d)numpy.asarray:此函式類似於numpy.array,除了它有較少的引數。 這個例程對於將 python 序列轉換為ndarray非常有用

numpy.asarray(a, dtype = none, order = none)
構造器接受下列引數:

序號引數及描述

1.a任意形式的輸入引數,比如列表、列表的元組、元組、元組的元組、元組的列表

2.dtype通常,輸入資料的型別會應用到返回的ndarray

3.order'c'為按行的 c 風格陣列,'f'為按列的 fortran 風格陣列

具體**如下:

# -*- coding: utf-8 -*-

"""created on sat apr 6 10:34:57 2019

"""import numpy as np

#建立乙個未初始化的陣列所以陣列裡面的值是隨機的

#order 'c'為按行的 c 風格陣列,'f'為按列的 fortran 風格陣列

#dtype為返回的陣列的資料型別

arr = np.empty([7], dtype = int, order = 'c')

print(arr, '\n')

arr = np.empty([3, 2], dtype = int)

print(arr, '\n')

arr = np.zeros(10, dtype = int)

print(arr, '\n')

arr = np.ones(7, dtype = int)

print(arr, '\n')

arr = np.ones([2, 2], dtype = int)

print(arr, '\n')

arr = np.asarray([12, 34, 56, 78], dtype = int)

print(arr, '\n')

arr = np.asarray(['12', '34','56', '8'], dtype = int)

print(arr, '\n')

arr = np.asarray((1, 2, 3, 4), dtype = int)

print(arr, '\n')

③ numpy.arange:這個函式返回ndarray物件,包含給定範圍內的等間隔值

numpy.arange(start, stop, step, dtype)
構造器接受下列引數:

序號引數及描述

1.start範圍的起始值,預設為0

2.stop範圍的終止值(不包含)

3.step兩個值的間隔,預設為1

4.dtype返回ndarray的資料型別,如果沒有提供,則會使用輸入資料的型別

具體的**如下:

# -*- coding: utf-8 -*-

"""created on sat apr 6 10:39:37 2019

"""import numpy as np

#numpy.arange: numpy.arange(start, stop, step, dtype)

arr = np.arange(1, 8, 2, int)

print(arr, "\n")

Python陣列常用操作

建立陣列 a 新增元素 新增操作 print a 1,2,3 時間複雜度一般是o 1 插入操作 在所選索引前插入乙個值 o n a.insert 2,99 第乙個引數是索引 第二個引數是插入的值 print a 1,2,99,3 訪問元素 直接查索引 o 1 temp a 2 print temp ...

Python常用陣列操作函式

python常用陣列操作函式 1.新增陣列元素 列表 list sadsad 1,哈哈 是否 extend 向末尾新增多個內容 如 list.extend 大毛 二毛 輸出 sadsad 1,哈哈 是否 大毛 二毛 insert 在任意位置新增內容 第一引數是要新增位置的下標,第二引數是表示新增的內...

Python中的Numpy陣列常用操作

最近使用keras做一些東西,然後會經常用到numpy來進行陣列的操作。途中在網上查詢了很多操作的相關方法,這裡將一些我常用到的方法記錄在這,用於遺忘後自己查閱 估計自己以後會經常使用python 也用於大家查閱。np.ones 函式與np.zeros 函式可以建立任意維度的全1或全0陣列。函式引數...