使用 NumPy 從文字形式的記錄列表建立 RecArray
要從文字形式的記錄列表建立 RecArray,請在 Python NumPy 中使用 **numpy.core.records.fromrecords()** 方法。名稱使用“**names**”引數設定。欄位名稱,可以以“col1, col2, col3”形式的逗號分隔字串指定,也可以以['col1', 'col2', 'col3']形式的字串列表或元組指定。可以使用空列表,在這種情況下使用預設欄位名稱('f0','f1',...)。
第一個引數是資料,同一欄位中的資料可能是不均勻的——它們將被提升到最高資料型別。dtype 是所有陣列的有效 dtype。formats、names、titles、aligned、byteorder 引數,f dtype 為 None,這些引數將傳遞給 numpy.format_parser 以構造 dtype。如果 formats 和 dtype 都為 None,則將自動檢測格式。使用元組列表而不是列表列表可以加快處理速度。
步驟
首先,匯入所需的庫 -
import numpy as np
使用 numpy.array() 方法建立一個新陣列 -
arr1 = np.array([[7, 14, 21], [30, 37, 45]]) arr2 = np.array([[11, 18, 24], [87.5, 65, 23.8]]) arr3 = np.array([['12', 'bbb', 'john'], ['5.6', '29', 'k']])
顯示陣列 -
print("Array1...
",arr1) print("Array2...
",arr2) print("Array3...
",arr3)
獲取陣列的型別 -
print("
Array1 type...
", arr1.dtype) print("
Array2 type...
", arr2.dtype) print("
Array3 type...
", arr3.dtype)
獲取陣列的維度 -
print("
Array1 Dimensions...
", arr1.ndim) print("
Array2 Dimensions...
", arr2.ndim) print("
Array3 Dimensions...
", arr3.ndim)
要從文字形式的記錄列表建立 RecArray,請在 Python NumPy 中使用 numpy.core.records.fromrecords() 方法 -
print("
Record Array...
",np.core.records.fromrecords([arr1,arr2,arr3], names = 'col1, col2, col3'))
示例
import numpy as np # Create a new array using the numpy.array() method arr1 = np.array([[7, 14, 21], [30, 37, 45]]) arr2 = np.array([[11, 18, 24], [87.5, 65, 23.8]]) arr3 = np.array([['12', 'bbb', 'john'], ['5.6', '29', 'k']]) # Display the arrays print("Array1...
",arr1) print("Array2...
",arr2) print("Array3...
",arr3) # Get the type of the arrays print("
Array1 type...
", arr1.dtype) print("
Array2 type...
", arr2.dtype) print("
Array3 type...
", arr3.dtype) # Get the dimensions of the Arrays print("
Array1 Dimensions...
", arr1.ndim) print("
Array2 Dimensions...
", arr2.ndim) print("
Array3 Dimensions...
", arr3.ndim) # To create a recarray from a list of records in text form, use the numpy.core.records.fromrecords() method in Python Numpy # The names is set using the "names" parameter # The field names, either specified as a comma-separated string in the form 'col1, col2, col3', or as a list or tuple of strings in the form ['col1', 'col2', 'col3']. # An empty list can be used, in that case default field names (‘f0’, ‘f1’, …) are used. print("
Record Array...
",np.core.records.fromrecords([arr1,arr2,arr3], names = 'col1, col2, col3'))
輸出
Array1... [[ 7 14 21] [30 37 45]] Array2... [[11. 18. 24. ] [87.5 65. 23.8]] Array3... [['12' 'bbb' 'john'] ['5.6' '29' 'k']] Array1 type... int64 Array2 type... float64 Array3 type... <U4 Array1 Dimensions... 2 Array2 Dimensions... 2 Array3 Dimensions... 2 Record Array... [[('7', '14', '21') ('30', '37', '45')] [('11.0', '18.0', '24.0') ('87.5', '65.0', '23.8')] [('12', 'bbb', 'john') ('5.6', '29', 'k')]]
廣告