NumPy實現(xiàn)結構化數(shù)組的示例代碼
在 NumPy 中,結構化數(shù)組允許我們創(chuàng)建具有復雜數(shù)據(jù)類型的數(shù)組,類似于表格或數(shù)據(jù)庫中的行。這對于處理異質數(shù)據(jù)集非常有用。在本篇博客中,我們將深入介紹 NumPy 中的結構化數(shù)組,并通過實例演示如何創(chuàng)建、訪問和操作結構化數(shù)組。
1. 創(chuàng)建結構化數(shù)組
結構化數(shù)組可以通過指定每個字段的名稱和數(shù)據(jù)類型來創(chuàng)建。
import numpy as np # 定義數(shù)據(jù)類型 dtype = np.dtype([('name', 'S10'), ('age', int), ('height', float)]) # 創(chuàng)建結構化數(shù)組 data = np.array([('Alice', 25, 5.6), ('Bob', 30, 6.0)], dtype=dtype) print(data)
2. 訪問結構化數(shù)組的字段
可以通過字段名稱訪問結構化數(shù)組的各個字段。
# 訪問結構化數(shù)組的字段 print(data['name']) # 輸出:['Alice' 'Bob'] print(data['age']) # 輸出:[25 30] print(data['height']) # 輸出:[5.6 6. ]
3. 修改結構化數(shù)組的值
通過索引和字段名稱,可以修改結構化數(shù)組的各個字段的值。
# 修改結構化數(shù)組的值 data['age'][0] = 26 data['height'][1] = 6.2 print(data)
4. 多維結構化數(shù)組
結構化數(shù)組可以是多維的,每個維度可以有不同的數(shù)據(jù)類型。
# 多維結構化數(shù)組 dtype_multi = np.dtype([('matrix', [('row', int), ('column', int)]), ('value', float)]) data_multi = np.array([((1, 2), 3.5), ((3, 4), 1.2)], dtype=dtype_multi) print(data_multi)
5. 使用嵌套字段
結構化數(shù)組支持嵌套字段,可以方便地處理嵌套結構。
# 使用嵌套字段 dtype_nested = np.dtype([('info', [('name', 'S10'), ('age', int)]), ('height', float)]) data_nested = np.array([(('Alice', 25), 5.6), (('Bob', 30), 6.0)], dtype=dtype_nested) print(data_nested)
6. 結構化數(shù)組的排序
可以使用 np.sort 函數(shù)對結構化數(shù)組進行排序。
# 結構化數(shù)組的排序 sorted_data = np.sort(data, order='age') print(sorted_data)
7. 結構化數(shù)組的條件篩選
可以使用條件來篩選結構化數(shù)組中的數(shù)據(jù)。
# 結構化數(shù)組的條件篩選 filtered_data = data[data['age'] > 26] print(filtered_data)
8. 結構化數(shù)組與 Pandas DataFrame 的轉換
結構化數(shù)組可以方便地與 Pandas DataFrame 進行轉換。
import pandas as pd # 結構化數(shù)組轉為 DataFrame df = pd.DataFrame(data) print(df)
9. 總結
結構化數(shù)組是 NumPy 中用于處理異質數(shù)據(jù)的重要工具,通過定義復雜的數(shù)據(jù)類型,我們可以創(chuàng)建具有不同字段的數(shù)組,類似于表格或數(shù)據(jù)庫中的行。結構化數(shù)組提供了訪問、修改、排序和條件篩選數(shù)據(jù)的靈活性,同時也方便與 Pandas DataFrame 進行交互。希望本篇博客能夠幫助你更好地理解和運用 NumPy 中的結構化數(shù)組功能。
到此這篇關于NumPy實現(xiàn)結構化數(shù)組的示例代碼的文章就介紹到這了,更多相關NumPy 結構化數(shù)組內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
78行Python代碼實現(xiàn)現(xiàn)微信撤回消息功能
這篇文章主要介紹了78行Python代碼實現(xiàn)現(xiàn)微信撤回消息功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-07-07在CentOS上配置Nginx+Gunicorn+Python+Flask環(huán)境的教程
這篇文章主要介紹了在CentOS上配置Nginx+Gunicorn+Python+Flask環(huán)境的教程,包括安裝supervisor來管理進程的用法,整套配下來相當實用,需要的朋友可以參考下2016-06-06Python中for循環(huán)可迭代對象迭代器及生成器源碼學習
這篇文章主要為大家介紹了Python中for循環(huán)可迭代對象迭代器及生成器的源碼學習,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05