Python-numpy-Pandas學習筆記

Numpy

Numpy創建數組

import pandas as pd
import numpy as np

# 生成一個矩陣,後面的dtype是指定矩陣裏面的元素類型,numpy定義了自己的數據類型,可以從中選擇
a=np.array([1,2,3],dtype=np.float32)
# 生成一個所有的數字都爲1的3*3矩陣,後面乘以x,就可以得到所有數字都是x的3*3矩陣
b=np.ones((3,3),dtype=np.float32) *2
# 生成一個所有的數字都爲0的3*3矩陣
b1=np.zeros((3,3))
# 生成一個2*2的空矩陣,即所有元素的值都無限接近於0
c=np.empty((2,2,))
# 先生成一個由0-11組成的1*12的矩陣,再調整它的行列,設置成3*4的矩陣
d=np.arange(12).reshape((3,4))
# 生成一個線性的數字,第一個參數是初始值第二個參數最終值,第三個參數是生成數字的個數
# 同樣也可以對它的行列進行調整,設置成2*5的矩陣
e=np.linspace(0,11,10).reshape((2,5))



print(e)

Numpy的基本運算1

import pandas as pd
import numpy as np

a=np.array([10,20,30,40])
a_dot=a.reshape((2,2))
b=np.arange(4)
b_dot=b.reshape((2,2))

# 減法
c=a-b

# 加法
d=a+b

# 冪次運算,b的三次方
e=b**3

# 判斷b中的那些數字是小於3的
f=b<3

# 逐個相乘
g=a_dot*b_dot
g_dot1=np.dot(a_dot,b_dot)
g_dot2=a_dot.dot(b_dot)
print(g)
print()
print(g_dot1)
print()
print(g_dot2)

# 隨機生成數字
# 生辰一個2*3的由0-1組成的矩陣
h=np.random.random((2,3))
print(h)
# 計算最大,最小,和
# 計算h中的最大數字
print("Max:{}".format(np.max(h)))
# 計算h中的最小數字
print("Min:{}".format(np.min(h)))
# 計算h中所有數字的和
print("Sum:{}".format(np.sum(h)))
# 計算每一列的最大值
print(np.max(h,axis=1)) #0表示列,1表示行
# 計算每一行的和
print(np.sum(h,axis=0)) #0表示列,1表示行

Numpy的基本運算2

import pandas as pd
import numpy as np

A=np.arange(2,14).reshape(3,4)
print(A)
# 獲取矩陣中最大值的索引
print(np.argmax(A))
# 獲取矩陣中最小值的索引
print(np.argmin(A))
# 求整個矩陣的平均值
print(np.mean(A))
print(A.mean())
print(np.average(A))
# 整個矩陣的中位數
print(np.median(A))

# 累加cumsum()
print(np.cumsum(A))
# 累差--->即第二個數和第一個數字的差,第三個數字和第二數字的差
print(np.diff(A))
# 對矩陣的每一行進行排序
b=np.random.random(12).reshape((3,4))*100
print(b)
print("Sorted Matrix:{}".format(np.sort(b)))

# 矩陣的轉置
c=np.array([[1,2,3],
            [4,5,6]])
d=np.transpose(c)
print(c)
print("Transposed:{}".format(d))
print("Transposed:{}".format(c.T))


# clip --> np.clip(A,5,9)-->把矩陣A中所有大於9的數字都變成9,所有小於5的數字都變成5
print(A)
print(np.clip(A,5,9))

Numpy的索引

import pandas as pd
import numpy as np

a=np.arange(3,15)
# 用位置索引獲取元素 獲取a矩陣的第三個元素
print(a)
print(a[3])

# 用兩個索引對一個三行四列的矩陣進行索引取值
# 取出第三行第二個位置的值
b=a.reshape((3,4))
print(b[2,1])
# 取出一個列或者行
print(b[1,:])# 第二行的所有數字
print(b[0,:]) #第一行的所有數字
print(b)
print("\n")
# 遍歷矩陣
# 打印每一行
for row in b:
    print(row)
print("\n")
# 打印每一列,numpy本身沒有提供一個這樣的函數,但是可以通過遍歷b的轉置矩陣的行來代替
for column in b.T:
    print(column)

# 迭代矩陣中的所有元素,用a.flat可以把一個多維的矩陣變成一維的,然後直接遍歷就可以
print(b.flatten())
for item in b.flat:
    print(item) 
Numpy的數組合並

Numpy的數組分割

Numpy的 複製和深度複製

Pandas

參考視頻

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章