国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【numpy基礎(chǔ)】--結(jié)構(gòu)化

這篇具有很好參考價(jià)值的文章主要介紹了【numpy基礎(chǔ)】--結(jié)構(gòu)化。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目前為止,介紹的numpy數(shù)組基本都是關(guān)于數(shù)值的,其實(shí),numpy本身就是一個(gè)用于數(shù)值計(jì)算的基礎(chǔ)庫。

不過,除了數(shù)值計(jì)算之外,numpy也能夠支持結(jié)構(gòu)化數(shù)組

1. 關(guān)聯(lián)不同類型數(shù)據(jù)

numpy的數(shù)組為了提高計(jì)算性能,要求數(shù)組的數(shù)據(jù)類型要一致。
但是現(xiàn)實(shí)情況下,我們經(jīng)常遇到不是純數(shù)值的數(shù)組,比如:

name = ["harry", "tom", "annie"]
sex = ["male", "male", "female"]
age = [40, 31, 14]

arr = np.array([name, sex, age])
print(arr)
#運(yùn)行結(jié)果
[['harry' 'tom' 'annie']
 ['male' 'male' 'female']
 ['40' '31' '14']]

上面三個(gè)數(shù)組的類型不一致,放到一個(gè)numpy數(shù)組中時(shí),可以看出,age數(shù)組被自動(dòng)轉(zhuǎn)換為字符串類型了。

為了保持 age 數(shù)組的原有數(shù)據(jù)類型,就要用到numpy結(jié)構(gòu)化數(shù)組了。

arr = np.zeros(
    3,
    dtype={"names": ("name", "sex", "age"), 
           "formats": ("U10", "U10", "i4")},
)
print(arr)
#運(yùn)行結(jié)果
[('', '', 0) ('', '', 0) ('', '', 0)]

arr["name"] = name
arr["sex"] = sex
arr["age"] = age
print(arr)
#運(yùn)行結(jié)果
[('harry', 'male', 40) 
 ('tom', 'male', 31)
 ('annie', 'female', 14)]

定義數(shù)組時(shí),定義不同的namesformats,這樣,最后得到了結(jié)構(gòu)化的數(shù)組,每個(gè)元素是一個(gè)元組,元組中的三個(gè)元素分別是name,sex,age

這樣的數(shù)組,保持了原數(shù)組的數(shù)據(jù)的類型。
補(bǔ)充:上面代碼中的 U10 表示長度小于10 的字符串,i4 表示占4個(gè)字節(jié)的整數(shù)。

2. 結(jié)構(gòu)化數(shù)組

生成結(jié)構(gòu)化數(shù)組的關(guān)鍵在于定義不同的數(shù)據(jù)類型。
定義數(shù)據(jù)了類型有兩種方式:
第一種是用字典,類似上面的示例那樣,

dtp = np.dtype(
    {"names": ("name", "sex", "age"), 
     "formats": ("U10", "U10", "i4")}
)
arr = np.zeros(3, dtype=dtp)

arr["name"] = name
arr["sex"] = sex
arr["age"] = age
print(arr)
#運(yùn)行結(jié)果
[('harry', 'male', 40) 
 ('tom', 'male', 31)
 ('annie', 'female', 14)]

還有一種方式是用元組列表來定義:

dtp = np.dtype([
    ("name", "U10"), 
    ("sex", "U10"),
    ("age", "i4")
])
arr = np.zeros(3, dtype=dtp)

arr["name"] = name
arr["sex"] = sex
arr["age"] = age
print(arr)
#運(yùn)行結(jié)果
[('harry', 'male', 40) 
 ('tom', 'male', 31)
 ('annie', 'female', 14)]

兩種方式定義出的結(jié)構(gòu)化數(shù)組是一樣的。

3. 更復(fù)雜的結(jié)構(gòu)

除了定義上面那種類似excel表格的二維結(jié)構(gòu)之外,numpy的數(shù)組也能定義跟復(fù)雜的結(jié)構(gòu)。
比如定義學(xué)生的成績列表:

dtp = np.dtype([("name", "U10"), ("scores", "f4", (3))])
arr = np.zeros(3, dtype=dtp)
print(arr)
#運(yùn)行結(jié)果
[('', [0., 0., 0.]) 
 ('', [0., 0., 0.]) 
 ('', [0., 0., 0.])]

arr["name"] = ["harry", "tom", "annie"]
arr["scores"] = [[100, 95.5, 93], [89, 90, 78.5], [77.5, 76, 90]]
print(arr)
#運(yùn)行結(jié)果
[('harry', [100. ,  95.5,  93. ]) 
 ('tom', [ 89. ,  90. ,  78.5])
 ('annie', [ 77.5,  76. ,  90. ])]

每個(gè)學(xué)生對應(yīng)一個(gè)成績列表,列表中包含3個(gè)成績。

4. 總結(jié)回顧

總的來說,numpy結(jié)構(gòu)化數(shù)組并不常用,對于結(jié)構(gòu)化數(shù)組,使用 pandas庫來操作更好。
numpy庫一般作為純數(shù)值計(jì)算的底層來使用,其實(shí)pandas也是基于 numpy 的。

此外,還有很多其他的python科學(xué)計(jì)算的庫也是基于numpy的。文章來源地址http://www.zghlxwxcb.cn/news/detail-525561.html

到了這里,關(guān)于【numpy基礎(chǔ)】--結(jié)構(gòu)化的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • elasticsearch結(jié)構(gòu)化查詢

    elasticsearch結(jié)構(gòu)化查詢

    在上一篇中我們介紹了DSL相關(guān)的知識,接下來我們將會學(xué)習(xí)elasticsearch的結(jié)構(gòu)化查詢,同時(shí)也實(shí)踐一下上一篇的DSL的查詢用法 從《Elasticsearch權(quán)威指南》上摘取部分解釋如下: 從上面的定義我們可以看出來結(jié)構(gòu)化查詢最重要的就是是否匹配么人并不是很關(guān)心相關(guān)性和分值計(jì)算。

    2024年02月01日
    瀏覽(30)
  • WPF 界面結(jié)構(gòu)化處理

    WPF 界面結(jié)構(gòu)化處理

    WPF 框架是開源的,但是不能跨平臺,可以使用MAUI,這個(gè)框架可以跨平臺,WPF源碼可以在github上下載,下載地址:https://gitbub.com/dotnet/wpf。 框架結(jié)構(gòu) 如圖 XAML:eXtensible Application Markup Language的英文縮寫,相應(yīng)的中文名稱為:可擴(kuò)展應(yīng)用程序標(biāo)記語言。 命名空間 默認(rèn) 映射:x/

    2024年02月13日
    瀏覽(32)
  • SQL:結(jié)構(gòu)化查詢語言

    SQL:結(jié)構(gòu)化查詢語言

    創(chuàng)建一張表并插入數(shù)據(jù): 以下常用函數(shù)以MySQL為例,其它數(shù)據(jù)庫類似

    2024年02月06日
    瀏覽(30)
  • elasticsearch結(jié)構(gòu)化查詢(一)

    elasticsearch結(jié)構(gòu)化查詢(一)

    在上一篇中我們介紹了DSL相關(guān)的知識,接下來我們將會學(xué)習(xí)elasticsearch的結(jié)構(gòu)化查詢,同時(shí)也實(shí)踐一下上一篇的DSL的查詢用法 從《Elasticsearch權(quán)威指南》上摘取部分解釋如下: 從上面的定義我們可以看出來結(jié)構(gòu)化查詢最重要的就是是否匹配么人并不是很關(guān)心相關(guān)性和分值計(jì)算。

    2024年02月05日
    瀏覽(28)
  • 結(jié)構(gòu)化流(Structured Streaming)

    結(jié)構(gòu)化流(Structured Streaming)

    有界數(shù)據(jù): 無界數(shù)據(jù): 結(jié)構(gòu)化流是構(gòu)建在Spark SQL處理引擎之上的一個(gè)流式的處理引擎,主要是針對無界數(shù)據(jù)的處理操作。對于結(jié)構(gòu)化流同樣也支持多種語言操作的API:比如 Python Java Scala SQL … Spark的核心是RDD。RDD出現(xiàn)主要的目的就是提供更加高效的離線的迭代計(jì)算操作,RDD是針

    2024年01月17日
    瀏覽(23)
  • MATLAB結(jié)構(gòu)化程序設(shè)計(jì)

    MATLAB結(jié)構(gòu)化程序設(shè)計(jì)

    1 、實(shí)驗(yàn)?zāi)康模?1)鞏固并加深對MATLAB語言程序設(shè)計(jì)知識的理解; 2)掌握和提高M(jìn)ATLAB語言編程和程序調(diào)試的基本技能; 3)進(jìn)一步理解和運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法; 4)提高運(yùn)用MATLAB語言解決實(shí)際問題的能力。 2-1)、分別使用for語句和while語句求1~100的和。 while語句

    2023年04月08日
    瀏覽(22)
  • Structured Concurrency:結(jié)構(gòu)化并發(fā)

    https://ericniebler.com/2020/11/08/structured-concurrency/ 是什么:一種確保子操作在父操作之前完成的方式,類似函數(shù)在調(diào)用函數(shù)之前完成。 最典型的結(jié)構(gòu)化并發(fā):C++20的協(xié)程 意義:它通過使異步生存期與普通C++詞法作用域相對應(yīng),為異步程序帶來了現(xiàn)代C++風(fēng)格,并且不需要引用計(jì)數(shù)(

    2024年02月05日
    瀏覽(24)
  • 【案例】--非結(jié)構(gòu)化數(shù)據(jù)中臺案例

    最近接觸一個(gè)平臺架構(gòu)的討論,公司需要一個(gè)非結(jié)構(gòu)化數(shù)據(jù)中臺,理念是能夠滿足存儲隨時(shí)變換的非結(jié)構(gòu)化數(shù)據(jù),另外引入低代碼思想。由于非結(jié)構(gòu)化數(shù)據(jù)是未知的,不同業(yè)務(wù)的數(shù)據(jù)是不同,為了更好的使用,低代碼就需要一種方案,在盡量不開發(fā)代碼下滿足相關(guān)需求變化,

    2024年02月10日
    瀏覽(28)
  • 【跟小嘉學(xué) Rust 編程】五、使用結(jié)構(gòu)體關(guān)聯(lián)結(jié)構(gòu)化數(shù)據(jù)

    【跟小嘉學(xué) Rust 編程】一、Rust 編程基礎(chǔ) 【跟小嘉學(xué) Rust 編程】二、Rust 包管理工具使用 【跟小嘉學(xué) Rust 編程】三、Rust 的基本程序概念 【跟小嘉學(xué) Rust 編程】四、理解 Rust 的所有權(quán)概念 【跟小嘉學(xué) Rust 編程】五、使用結(jié)構(gòu)體關(guān)聯(lián)結(jié)構(gòu)化數(shù)據(jù) 本章節(jié)講解一種自定義數(shù)據(jù)類型

    2024年02月10日
    瀏覽(33)
  • 結(jié)構(gòu)化日志記錄增強(qiáng)網(wǎng)絡(luò)安全性

    結(jié)構(gòu)化日志記錄增強(qiáng)網(wǎng)絡(luò)安全性

    日志是一種寶貴的資產(chǎn),在監(jiān)視和分析應(yīng)用程序或組織的 IT 基礎(chǔ)結(jié)構(gòu)的整體安全狀況和性能方面發(fā)揮著至關(guān)重要的作用。它們提供系統(tǒng)事件、用戶活動(dòng)、網(wǎng)絡(luò)流量和應(yīng)用程序行為的詳細(xì)記錄,從而深入了解潛在威脅或未經(jīng)授權(quán)的訪問嘗試。雖然組織歷來依賴于傳統(tǒng)的日志記錄

    2024年02月10日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包