python 資料分析 (4)numpy陣列的運算

2021-10-12 17:37:41 字數 2721 閱讀 9060

陣列的運算:對應元素的運算,結構完全相同

import numpy as np

arr1 = np.arange(1,

17).reshape((4

,4))

# print(arr1)

arr2 = np.diag([2

,3,1

,5])

# 建立乙個對角陣列

# print(arr2)

arr3 = arr1 * arr2 # 乘法

# print(arr3)

arr4 = arr2 / arr1 # 除法 被除數不能為0

# print(arr4)

arr5 = arr1**arr2 # 冪運算 後乙個陣列為前乙個陣列的指數

# print(arr5)

arr6 = arr2%arr1 # 取餘

# print(arr6)

[[0 0 0 0]

[0 3 0 0]

[0 0 1 0]

[0 0 0 5]]

print

(arr1 > arr2)

# 對應元素的比較,成立為true,不成立為false

[[false  true  true  true]

[ true true true true]

[ true true true true]

[ true true true true]]

# 將 arr1中大於8的值取出

mask = arr1 >

8print

(mask)

print

(arr1[mask]

)# 可以使用相同結構的mask對陣列進行取值

[[false false false false]

[false false false false]

[ true true true true]

[ true true true true]]

[0 0 1 0 0 0 0 5]

# 邏輯與運算:all(布林陣列)  全為true才為true

np.all

(mask)

# false

# 邏輯或運算:any(布林陣列) 有true就為true

np.any

(mask)

true
將行向量(或列向量)和二維陣列每行(或每列)進行運算

arr7 = np.array([[

1],[

0],[

1],[

0]])

# 列向量

arr8 = np.array([1

,0,1

,0])

# 行向量

arr9 = arr1+arr7 # 二維陣列和類向量進行運算

arr10 = arr1+arr8 # 二維陣列和行向量進行運算

arr11 = arr1+np.array([1

])# 二維和單個數的陣列也能進行廣播

# print(arr11)

[[ 2  3  4  5]

[ 6 7 8 9]

[10 11 12 13]

[14 15 16 17]]

sort:

sort 會修改原陣列,沒有返回值

# sort 會修改原陣列,沒有返回值

arr12 = np.array([21

,10,20

,8,15

,1])

# arr12.sort()

# print(arr12) # [ 1 8 10 15 20 21]

argsort:

進行排序,有返回值,返回值對應為元素在排序前的索引

# argsort  進行排序,有返回值,返回值對應為元素在排序前的索引

print

(arr12.argsort())

# [5 3 1 4 2 0]對應元素在排序前的索引

print

(arr12)

[5 3 1 4 2 0]

[21 10 20 8 15 1]

sort:
# 二維陣列的排序 sort 

# 引數說明

# axis : 指定對應的軸進行排序 預設是axis=-1 是最後乙個軸進行排序

# kind: 是排序的使用的方法

arr13 = np.array([[

12,2,

3,45,

4],[

12,34,

345,

567,56]

])# arr13.sort(axis=0)

# int(arr13)

argsort:
# argsort 有返回值,返回值為排序前的索引

print

(arr13.argsort(

))

[[1 2 4 0 3]

[0 1 4 2 3]]

利用python進行資料分析 02 numpy基礎

ndarray 多維陣列物件 ndarray是乙個通用的同構資料多維容器,每個陣列均有乙個shape 表示維度大小 和dtype 說明陣列資料型別的物件 eg data.shape 2,3 data.dtype dtype float64 1 建立ndarray data1建立arr1的ndarra...

python資料分析4

為啥要用python中的pandas庫進行資料分析,用excel不可以嗎?不可以,excel處理上萬條資料時通常會宕機或者出錯,python不會有這種問題。相信鯉魚學長,在學習乃至日後工作中,pandas庫將會風靡相當長一段時間。在資料處理中我們經常用到視覺化,視覺化可以直觀地識別資料中的趨勢。我們...

資料分析(4)

資料質量分析 主要針對缺失值 異常值 不一致的值 重複資料以及含有特殊符號 異常值的查明箱型圖統計 利用箱型圖對資料異常值進行查明 import os path os.path.abspath 當前所處資料夾的絕對路徑 import pandas as pd catering sale data c...