一、numpy.split()方法
numpy.split()方法是numpy的一個方法,可以將一個數組分成多個子數組,其用法如下:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
new_arr = np.split(arr, 3)
print(new_arr)
上述代碼中,arr是需要分割的數組,3是想要將數組分成多少個子數組。輸出的結果是一個包含多個子數組的列表。
numpy.split()方法的參數中還可以指定在哪個位置進行分割。比如,我們可以在第二個元素和第四個元素之間進行分割,代碼如下:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
new_arr = np.split(arr, [2, 4])
print(new_arr)
這樣就會將原數組分成三個子數組,分別是[1, 2]、[3, 4]、[5, 6]。
二、Python切片
Python中的切片操作也可以實現數組的分割。我們可以在指定的位置使用”:”進行分割。比如,我們可以在第二個元素和第四個元素之間進行分割,代碼如下:
arr = [1, 2, 3, 4, 5, 6]
new_arr = [arr[:2], arr[2:4], arr[4:]]
print(new_arr)
這樣就會將原數組分成三個子數組,分別是[1, 2]、[3, 4]、[5, 6]。
三、numpy.array_split()方法
numpy.array_split()方法與numpy.split()方法類似,可以將數組分成多個子數組,但與numpy.split()不同的是,numpy.array_split()方法可以在不能平均分成子數組時,依然可以進行分割。
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
new_arr = np.array_split(arr, 3)
print(new_arr)
輸出的結果是一個包含三個子數組的列表,分別是[1, 2, 3]、[4, 5]、[6, 7]。
四、pandas.DataFrame()方法
pandas是Python中的一個強大的數據處理庫,如果要分割一個二維數組,可以使用pandas.DataFrame()方法。
import pandas as pd
df = pd.DataFrame({'a': [1, 2, 3, 4, 5, 6], 'b': [7, 8, 9, 10, 11, 12]})
new_df = np.split(df, 3)
print(new_df)
輸出的結果是一個包含三個子數組的列表,分別是數組df的三段子數組。
五、小結
以上是Python數組分割的幾種方法,每種方法都有其適用的場景。numpy.split()和numpy.array_split()方法是在處理由numpy數組構成的數據時非常實用。Python切片的操作則尤其適用於簡單列表的分割。如果需要分割的是由數據構成的二維數組,則可以使用pandas庫的DataFrame()方法來完成操作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/240370.html