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

數(shù)據(jù)分析-python學習 (1)numpy相關

這篇具有很好參考價值的文章主要介紹了數(shù)據(jù)分析-python學習 (1)numpy相關。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

內(nèi)容為:https://juejin.cn/book/7240731597035864121的學習筆記

導包
import numpy as np  

numpy數(shù)組創(chuàng)建

  • 創(chuàng)建全0數(shù)組,正態(tài)分布、隨機數(shù)組等就不說了,提供了相應的方法
  • 通過已有數(shù)據(jù)創(chuàng)建有兩種 arr1=np.array([1,2,3,4,5]) 或者data=np.loadtxt(‘C:/Users/000001_all.csv’,dtype=‘float’,delimiter=‘,’,skiprows=1) (data=np.genfromtxt(‘C:/Users/000001_all.csv’,dtype=‘float32’,delimiter=‘,’,skip_header=1) )
  • 注意淺拷貝與深拷貝 array copy是深,asarray是淺
import numpy as np  
arr1=np.array([1,2,3,4,5])  
arr2=np.array(arr1)  
arr3=np.asarray(arr1)  
arr4=np.copy(arr1)  
arr1[0]=100  
print('更改后arr2為:',arr2)  
print('更改后arr3為:',arr3)  
print('更改后arr4為:',arr4)

更改后arr2為: [1 2 3 4 5]
更改后arr3為: [100   2   3   4   5]
更改后arr4為: [1 2 3 4 5]
  • 數(shù)組的切片也是淺拷貝
Score=np.array([69,80,90,40,60,20,90,94,90,99])#學生的成績
 Score[:3]=0
 print('修改切片對象成績后的Score為',Score)
 Score1=[69,80,90,40,60,20,90,94,90,99]
 Score1_list=Score1[:3]
 Score1_list=0
 print('修改Score1_list后的Score1為',Score1)

修改切片對象成績后的Score為 [ 0  0  0 40 60 20 90 94 90 99]
修改Score1_list后的Score1為 [69, 80, 90, 40, 60, 20, 90, 94, 90, 99]

索引的訪問

訪問某個下標(一個元素)得到的也是一個數(shù)值;如果訪問的是多個下標,得到的是一個數(shù)組

一維

數(shù)據(jù)分析-python學習 (1)numpy相關,數(shù)據(jù)分析,python,學習

二維
Score2=np.array([[69,40,30],[80,90,40],[90,100,50],[40,20,99],[60,60,66],
                 [20,66,44],[90,88,56],[94,99,67],[90,20,70],[99,50,86]])
 print('學號為1的同學的語文和英語成績?yōu)?,Score2[[0,0],[0,2]])
學號為 1 的同學的語文和英語成績?yōu)?[69 30]

數(shù)據(jù)分析-python學習 (1)numpy相關,數(shù)據(jù)分析,python,學習

三維
Space=np.array([
    [[5,4,8],[5,9,2],[4,5,3]],
    [[4,9,6],[2,2,5],[4,3,4]],
    [[4,2,1],[7,6,3],[4,6,5]]
                ])
 print(Space[[0,0,1],[0,1,2],[0,0,2]])

[5 5 4]

數(shù)據(jù)分析-python學習 (1)numpy相關,數(shù)據(jù)分析,python,學習

數(shù)組的運算

廣播

3種

廣播機制的原則是如果兩個數(shù)組的從后數(shù)第一個維度軸長度相符或其中一個數(shù)組的軸長為 1,則認為它們能夠廣播

Arr1=np.array([1,2,3])
print(Arr1)  
print(Arr1*3)

[1 2 3]
[3 6 9]
Arr2=np.array([[1,2,3],[4,5,6]])  
Arr1=np.array([1,2,3])  
print(Arr1)  
print(Arr2)  
print(Arr1+Arr2)

[1 2 3]
**********
[[1 2 3]
 [4 5 6]]
**********
[[2 4 6]
 [5 7 9]]

Arr2=np.array([[1,2,3],[4,5,6]])  
Arr=np.array([[1],[2]])  
print(Arr2)  
print(Arr)  
print(Arr2+Arr)

[[1 2 3]
 [4 5 6]]
**********
[[1]
 [2]]
**********
[[2 3 4]
 [6 7 8]]

數(shù)值與數(shù)組的標量運算,就用到了廣播機制,會把數(shù)據(jù)擴充到跟待運算一樣的大小,按位相加/減/乘/除

計算函數(shù)

除了可以arr1與arr2直接相運算,如arr1*arr2,也有相應的方法
方法:add() 加法函數(shù),subtract() 減法函數(shù),multiply() 乘法函數(shù),divide() 除法函數(shù),mod() 取余函數(shù)。

Score_F=np.array([69,80,90,40,60,20,90,94,90,99])#第一次成績  
Score_S=np.array([70,92,63,20,50,96,33,44,55,30])#第二次成績  
Score_chaju=np.subtract(Score_F,Score_S)  
print('求兩次成績的和',np.add(Score_F,Score_S))
print('第一次成績的0.6加第二次成績的0.4',np.add(np.multiply(Score_F,0.6),np.multiply(Score_S,0.4)))
print('查看兩次成績的差距,差距以正數(shù)顯示',np.abs(Score_chaju))

統(tǒng)計函數(shù)

axis有兩個值,為0求的是縱向的聚合值,為1求的是橫向的聚合值,
常用的聚合函數(shù)如下:mean,sum,max,min,std,var

標準差是方差的算數(shù)平方根(標準差和原數(shù)據(jù)單位相同,方差多個平方),所以方差>標準差,說明偏差大;方差<標準差,說明偏差小

數(shù)據(jù)分析-python學習 (1)numpy相關,數(shù)據(jù)分析,python,學習

數(shù)據(jù)分析-python學習 (1)numpy相關,數(shù)據(jù)分析,python,學習

邏輯運算

提供了all、any 和 where 這三個方法
數(shù)據(jù)分析-python學習 (1)numpy相關,數(shù)據(jù)分析,python,學習

# 得到兩門成績都及格的同學的成績
import numpy as np  
Score=np.array([[98,89],[64,90],[60,56],[92,78],[32,45],[48,30]])  
Score60=Score>60  
Score_bool=np.all(Score60,axis=1)  
print(Score_bool)  
print(Score[Score_bool])

[ True  True False  True False False]
[[98 89]
 [64 90]
 [92 78]]

#查看數(shù)學或者語文超過 90 分同學的成績
Score90=Score>90  
Score_bool=np.any(Score90,axis=1)  
print(Score_bool)  
print(Score[Score_bool])

[ True False False  True False False]
[[98 89]
 [92 78]]

# 成績大于60的分數(shù)有哪些
import numpy as np
Score_math=np.array([98,64,60,92,32,48])
score60_index = np.where(Score_math>60)
score60 = Score_math[score60_index]
print(score60_index)
print(score60)

(array([0, 1, 3]),)
[98 64 92]

矩陣運算

可以用@或dot來實現(xiàn),它倆是等價的

注意是(3, 2)*(2, 4)=(3, 4) 只有

fruit_price=np.array([[5,4,3]])  # 1*3
jinshu=np.array([[2],[3],[1]])  # 3*1
print('水果的總價格為:\n',fruit_price@jinshu)   #得到的是1*1的矩陣
print('水果的總價格為:\n',np.dot(fruit_price,jinshu))

水果的總價格為:
 [[25]]
水果的總價格為:
 [[25]]

數(shù)組的拆分與合并

合并

水平可以用concatenate 方法、hstack 方法和 column_stack 方法
垂直可以用concatenate 方法、vstack 方法和 row_stack 方法

  • 水平
import numpy as np  
Stock1=np.array([[14.322,14.552],[14.472,14.532],[14.592,15.022],[14.852,14.802]])  
Stock2=np.array([[14.652,14.192],[14.832,14.422],[15.022,14.592],[15.152,14.722]])  
# 方式1
Stock=np.concatenate((Stock1,Stock2),axis=1)  
# 方式2
Stock=np.hstack((Stock1,Stock2)) 
# 方式3
Stock=np.column_stack((Stock1,Stock2)) 

print(Stock)#上面3種得到的結果一樣,寫一塊了

[[14.322 14.552 14.652 14.192]
 [14.472 14.532 14.832 14.422]
 [14.592 15.022 15.022 14.592]
 [14.852 14.802 15.152 14.722]]

數(shù)據(jù)分析-python學習 (1)numpy相關,數(shù)據(jù)分析,python,學習

  • 垂直
import numpy as np
Stock1=np.array([[14.322,14.552],[14.472,14.532],[14.592,15.022],[14.852,14.802]])
Stock2=np.array([[14.912,14.932],[14.772,14.602]])
Stock=np.concatenate((Stock1,Stock2),axis=0)
Stock=np.vstack((Stock1,Stock2))
Stock=np.row_stack((Stock1,Stock2))
print(Stock)


[[14.322 14.552]
 [14.472 14.532]
 [14.592 15.022]
 [14.852 14.802]
 [14.912 14.932]
 [14.772 14.602]]

數(shù)據(jù)分析-python學習 (1)numpy相關,數(shù)據(jù)分析,python,學習

分割
# 水平
import numpy as np
Stock=np.array([[14.322,14.552],[14.472,14.532],[14.592,15.022],[14.852,14.802],[14.912,14.932],[14.772,14.602]])
open,close=np.split(Stock,2,axis=1)
print('open為{},close為{}'.format(open,close))

open[[14.322]
 [14.472]
 [14.592]
 [14.852]
 [14.912]
 [14.772]],close為[[14.552]
 [14.532]
 [15.022]
 [14.802]
 [14.932]
 [14.602]]

# 垂直
# 這里面對行下標做切分,包含頭不包含尾如按[1,3,4]: 0,   1,2,   3,   4,5
import numpy as np
Stock=np.array([[14.322,14.552],[14.472,14.532],[14.592,15.022],[14.852,14.802],[14.912,14.932],[14.772,14.602]])
arr1,arr2,arr3,arr4=np.split(Stock,[1,3,4],axis=0)
print('arr1為{},arr2為{},arr3為{},arr4為{}'.format(arr1,arr2,arr3,arr4))

arr1為[[14.322 14.552]],arr2為[[14.472 14.532]
 [14.592 15.022]],arr3為[[14.852 14.802]],arr4為[[14.912 14.932]
 [14.772 14.602]]

綜合案例:
https://juejin.cn/book/7240731597035864121/section/7255506664244117559文章來源地址http://www.zghlxwxcb.cn/news/detail-638161.html

到了這里,關于數(shù)據(jù)分析-python學習 (1)numpy相關的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 【Python數(shù)據(jù)分析】numpy庫的使用-上篇

    NumPy是一個用于科學計算的Python庫,它提供了高性能的多維數(shù)組對象和用于處理這些數(shù)組的各種工具。NumPy的名稱來自于“ Numerical Python ”的縮寫。 NumPy的主要功能包括: 多維數(shù)組對象:NumPy提供了多維數(shù)組對象,稱為 ndarray ,它是一個由同類型數(shù)據(jù)組成的表格。 ndarray 可以包

    2024年02月06日
    瀏覽(26)
  • 銀行營銷數(shù)據(jù)分析---Python(numpy、pandas、matplotlib)

    銀行營銷數(shù)據(jù)分析---Python(numpy、pandas、matplotlib)

    數(shù)據(jù)來源:kaggle銀行營銷數(shù)據(jù) 工具:Python、Jupyter Notebook 本項目采取的是kaggle銀行營銷的數(shù)據(jù)源,主要是預測客戶是否會訂購銀行的產(chǎn)品,但是,這次我將 使用numpy、pandas、matplotlib數(shù)據(jù)分析三件套,基于源數(shù)據(jù),深入分析影響銀行三大業(yè)務—存款、貸款、營銷產(chǎn)品的因素 ,

    2024年02月07日
    瀏覽(29)
  • 【Python爬蟲與數(shù)據(jù)分析】NumPy進階——數(shù)組操作與運算

    目錄 一、NumPy數(shù)組操作 1. ndarray更改形狀 2. ndarray轉置 3. ndarray組合 4. ndarray拆分 5. ndarray排序 二、NumPy數(shù)組運算 1. 基本運算 2. 邏輯函數(shù) 3. 數(shù)學函數(shù) 三、日期時間的表示和間隔 1. 日期時間的表示——datetime64 2. 日期時間的計算——timedelta64 3. datetime64與datetime的轉換 在對數(shù)組進

    2024年02月15日
    瀏覽(23)
  • python-數(shù)據(jù)分析-numpy、pandas、matplotlib的常用方法

    python-數(shù)據(jù)分析-numpy、pandas、matplotlib的常用方法

    輸出方式不同 里面包含的元素類型 使用 索引/切片 訪問ndarray元素 切片 左閉右開 np.array(list) np.arange() np.random.randn() - - - 服從標準正態(tài)分布- - - 數(shù)學期望 μ - - - 標準方差 s 使用matplotlib.pyplot模塊驗證標準正態(tài)分布 np.random.randint(起始數(shù),終止數(shù)(行,列)) 數(shù)據(jù)分析 - - - 數(shù)據(jù)清洗

    2024年02月10日
    瀏覽(124)
  • 【Python爬蟲與數(shù)據(jù)分析】NumPy初階——數(shù)組創(chuàng)建與訪問

    目錄 一、NumPy概述 二、NumPy數(shù)據(jù)類型 三、創(chuàng)建數(shù)組 1. numpy.array函數(shù)創(chuàng)建數(shù)組 2. np.arange創(chuàng)建數(shù)組 3. numpy.random.rand創(chuàng)建數(shù)組 4. numpy.random.randint創(chuàng)建數(shù)組 5. NumPy創(chuàng)建特殊數(shù)組 四、數(shù)組的屬性 五、NumPy數(shù)組索引與切片 NumPy(Numerical Python的簡稱)是一個開源的Python科學計算庫,用于對

    2024年02月13日
    瀏覽(23)
  • Python數(shù)據(jù)分析:NumPy、Pandas和Matplotlib的使用和實踐

    Python數(shù)據(jù)分析:NumPy、Pandas和Matplotlib的使用和實踐

    在現(xiàn)代數(shù)據(jù)分析領域中,Python已成為最受歡迎的編程語言之一。Python通過龐大的社區(qū)和出色的庫支持,成為了數(shù)據(jù)科學家和分析師的首選語言。在Python的庫中,NumPy、Pandas和Matplotlib是三個最為重要的庫,它們分別用于處理數(shù)值數(shù)組、數(shù)據(jù)處理和可視化。本文將介紹這三個庫的

    2024年02月04日
    瀏覽(30)
  • Python 數(shù)據(jù)分析入門教程:Numpy、Pandas、Matplotlib和Scikit-Learn詳解

    NumPy是一個Python的科學計算基礎模塊,提供了多維數(shù)組和矩陣操作功能。 NumPy中的數(shù)組比Python自帶的列表更適合進行數(shù)值計算和數(shù)據(jù)分析。 Pandas建立在NumPy之上,提供了更高級的數(shù)據(jù)分析功能。 Pandas中的DataFrame可以看成是一個二維表格,便于加載和分析數(shù)據(jù)。 Matplotlib可以用來繪

    2024年02月07日
    瀏覽(58)
  • Python進行數(shù)據(jù)相關性分析實戰(zhàn)

    Python進行數(shù)據(jù)相關性分析實戰(zhàn)

    平時在做數(shù)據(jù)分析的時候,會要對特征進行相關性分析,分析某些特征之間是否存在相關性。本文將通過一個實例來對數(shù)據(jù)進行相關性分析與展示。 本次分析的是企業(yè)合作研發(fā)模式效果分析,企業(yè)的合作研發(fā)大致分為 企企合作、企學合作、企研合作、企學研合作,也就是企

    2024年02月10日
    瀏覽(18)
  • 【Python】數(shù)據(jù)分析+數(shù)據(jù)挖掘——變量列的相關操作

    【Python】數(shù)據(jù)分析+數(shù)據(jù)挖掘——變量列的相關操作

    在Python和Pandas中,變量列操作指的是對DataFrame中的列進行操作,包括但不限于 選擇列、重命名列、添加新列、刪除列、修改列數(shù)據(jù) 等操作。這些操作可以幫助我們處理數(shù)據(jù)、分析數(shù)據(jù)和進行特征工程等。 概述 下面將會列出一些基本的操作指令 案例數(shù)據(jù)表university_rank.csv In

    2024年02月16日
    瀏覽(25)
  • 【100天精通Python】Day57:Python 數(shù)據(jù)分析_Pandas數(shù)據(jù)描述性統(tǒng)計,分組聚合,數(shù)據(jù)透視表和相關性分析

    目錄 1 描述性統(tǒng)計(Descriptive Statistics) 2 數(shù)據(jù)分組和聚合 3 數(shù)據(jù)透視表 4 相關性分析

    2024年02月07日
    瀏覽(44)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包