日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

随手查_python

發布時間:2024/3/13 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 随手查_python 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學python中(主要是機器學習方面的)學到的一些函數和常見的處理方法,容易忘記所以記錄一下,持續更。。。

快速導航

    • 🚀一些常見的函數:
        • cat函數
        • enumerate
        • numpy.hstack/numpy.vstack
        • plt.on/plt.off
        • randint函數
        • size函數
        • slice函數
        • solve函數
        • sum函數
        • tensor函數
        • transpose
        • Variable函數
    • 🚀一些常見的方法
        • 1、給數組中的多個位置的值賦值
        • 2、數組中冒號(:)的使用
        • 3、對csv文件的讀寫
          • (1)創建一個csv文件并批量寫入數據
          • (2)在csv文件中寫入新的一行
          • (3)讀取某一行某一列或者某一個位置的數
          • (4)刪除一行并保存
        • 4、如何查看某一數據的類型
        • 5、如何查看數組的維度
        • 6、如何改變數組的維度
        • 7、如何表示冪次方(python)
        • 8、如何查看某一個函數或訓練過程花費的時間
    • 🚀關于anaconda

🚀一些常見的函數:

cat函數

torch.cat 用于拼接兩個矩陣

import torchx=torch.zeros(3) y=torch.ones(3) z=torch.cat((x,y),0) print(z) x=torch.zeros(3,1) y=torch.ones(3,1) z=torch.cat((x,y),1) print(z)


不過這個只能用于tensor類型的拼接,numpy類的需要用到numpy.hstack或numpy.vstack,詳看下文。

enumerate

enumerate是枚舉,列出某一列的每一個數x2以及它們對應的序號x1。

y=list([11,22,33,44,55,66]) for x1,x2 in enumerate(y):print(x1,x2)

numpy.hstack/numpy.vstack

import numpy as npa=[1,2,3,5] b=[5,6,7,8] c=np.vstack((a,b)) d=np.hstack((a,b)) print(c) print(d)

plt.on/plt.off

可以顯示出訓練過程的所繪制圖表的變化

plt.on...... #(訓練過程)plt.off

randint函數

randint函數,可以在給定的范圍內隨機取一個或多個整數
random.randint() 只能取一個整數
numpy.random.randint() 可以通過設置取得多個整數

import random import numpy as npprint(random.randint(1,20)) # 隨機從0到20之間取1個數 print(np.random.randint(1,20,3)) # 隨機從0到20之間取3個數

size函數

參數0表示查詢行數,參數1表示查詢列數

a=torch.zeros(2,3) a[0,0]=1 a[0,1]=2 a[0,2]=3 a[1,0]=4 a[1,1]=5 a[1,2]=6 print(a) y=a.size(1) # 0是行數,1是列數 print(y) x=np.size(a,1) print(x)

slice函數

slice函數,即切片函數,可以從已知數組中取部分連續的數據。

import torchx=torch.linspace(0,9,10) print(x) slice1=slice(0,5,1) # 在第1到第5個數中,步長為1,每個都取 slice2=slice(0,6,2) # 在第1到第6個中,步長為2,每隔一個取一個 y=x[slice1] print(y) y=x[slice2] print(y)

solve函數

from sympy import * x= symbols('x') print(solve(x**2+5*x+6,x))

sum函數

sum函數:對矩陣中的全部或部分元素進行求和

# 特定維度求和函數 y=torch.ones(2,3) y[[0,0],[1,0]]=2 x1=torch.sum(y) # 對全部元素進行求和 print(x1) x2=torch.sum(y,dim=(0,1),keepdim=True) # 對行和列的元素進行求和且不改變維度 print(x2) x3=torch.sum(y,dim=(0,)) # 對各列進行求和,不保持原有維度 print(x3) x4=torch.sum(y,dim=(0,),keepdim=True) # 對各列進行求和,保持原有維度 print(x4) x5=torch.sum(y,dim=(1,)) # 對各行進行求和,不保持原有維度 print(x5) x6=torch.sum(y,dim=(1,),keepdim=True) # 對各行進行求和,保持原有維度 print(x6)


也可以用屬性sum對具體某一行或某一列進行求和

y=torch.ones(2,3) y[[0,0],[1,0]]=2 print(y) x4=y[0].sum() # 對第1行進行求和 x5=y[1].sum() # 對第2行進行求和 x6=y[:,0].sum() # 對第1列進行求和 x7=y[:,2].sum() # 對第3列進行求和 print(x4) print(x5) print(x6) print(x7)

tensor函數

可以用tensor函數來定義數組

x=torch.tensor([[1,2,3],[4,5,6],[7,8,9]]) print(x)

zeros函數和ones函數也可以定義數組,

x=torch.zeros(2) print(x) x=torch.zeros(2,1) print(x)

x=torch.ones(2) print(x) x=torch.ones(2,1) print(x)

transpose

(1)torch.transpose(y,1,0) 表示第0維和第1維互換,比如對于一個二維數組,若換之前是2×3數組,換之后是3×2數組。

# 用transpose對數組進行維度互換 y=torch.zeros(2,3) y[[0,0],[1,0]]=2 print(y) x=torch.transpose(y,1,0) print(x)


(2)對于三維數組,tensor.transpose(y,1,2) 表示第1維和第2維互換,變換之前是2×3×4數組,變換后是2×4×3數組。

y=torch.zeros(2,3,4) y[[0,0],[1,0]]=2 print(y) x=torch.transpose(y,1,2) print(x)

Variable函數

把tensor定義為torch.autograd.Variable變量后,可以擁有autograd包中的屬性,比如通過 .data 訪問tensor中的所有變量;通過 .backward() 反向傳播更新參數。

🚀一些常見的方法

1、給數組中的多個位置的值賦值

import torchx=torch.zeros(4,4) print(x) x[[0,1,2,3],[0,1,2,3]]=8 # 給[0,0],[1,1],[2,2],[3,3]位置賦值8 print(x)

2、數組中冒號(:)的使用

import torchx=torch.tensor([[1,2,3],[4,5,6],[7,8,9]]) print(x)print(x[:,1]) # 只有冒號表全部,表示x的第2列 print(x[1,:]) # 表示x的第2行print(x[:,0:1]) # 冒號前表示起,冒號后表示止,0到1其實打印的是第一例 print(x[1:2,:]) # 1到2,表示第2橫 print(x[:,1:]) # 表示第2列起后的全部,在這里就表示第2列和第3列print(x[:,-1:]) # 表示最后1列 print(x[:,:-1]) # 表示除最后1列的全部print(x[:,-2:]) # 表示最后2列 print(x[:,:-2]) # 表示除最后2列的全部

3、對csv文件的讀寫

(1)創建一個csv文件并批量寫入數據

首先需要在當前目錄新建一個csv文件,
【File】→【New】→【File】,起文件名并把文件名后綴設置為 .csv 即可。

相比較與csv的操作,俺覺得用pandas對csv文件進行操作是比較簡單方便的。

import torch import pandas as pd# 對csv文件進行寫操作(用pandas) with open('BDL2_testDataset.csv','w')as file:x=torch.linspace(0,500,101)x1 = torch.linspace(0, 500, 101)y=2*xdata=pd.DataFrame({'x':x,'x1':x1,'y':y})data.to_csv(file)# 對csv文件進行讀操作(用pandas) dt = pd.read_csv("BDL2_testDataset.csv") dt.head() data_set = dt.values data_x=data_set[:,1:2].astype(float) data_y = data_set[:,3:].astype(float)print(data_x) print(data_y)

(2)在csv文件中寫入新的一行
import pandas as pddf=pd.read_csv("testdataset_2.csv") print(df) print(' ') df.loc[8]=[1,1,1,1] # 對第8行寫入新的數據 print(df)


Notice:
如果是剛創建的一個新的csv文件,里面什么都沒有,此時寫入會出錯
給這個文件隨便加個表頭(手動在第一行寫入一行)就就可解決這個問題

(3)讀取某一行某一列或者某一個位置的數
import pandas as pddf=pd.read_csv("testdataset_2.csv") print(df)x1=df.loc[2] # 讀取第3行數據 x2=df.loc[2,:] # 讀取第3行數據 x3=df.iloc[2,:] # 讀取第3行數據x6=df.iloc[:,2] # 讀取第3列數據x7=df.iloc[2,0] # 讀取第3行第1列數據print(x1) print(x2) print(x3) print(x6) print(x7)


(4)刪除一行并保存
df=pd.read_csv("testdataset_2.csv") print(df) df.drop([0],inplace=True) # 刪去第1行 print(df) df.to_csv("testdataset_2.csv",index=False) # 保存到文件中


Notice:
inplace=True 才能夠刪除成功;要用語句 df.to_csv寫入到文件中,才能對文件進行改動,不然就只是改動了df而已

4、如何查看某一數據的類型

num1=20.0 num2=20 print(type(num1)) print(type(num2))

5、如何查看數組的維度

import torcha=torch.ones(2,2,2) print(a.ndim)

6、如何改變數組的維度

用reshape函數

import torcha=torch.ones(4) print(a) print(a.ndim) a=a.reshape(1,-1) print(a) print(a.ndim)

7、如何表示冪次方(python)

a=2**3 print(a)

8、如何查看某一個函數或訓練過程花費的時間

print("Start train...")start = time.perf_counter()self.train(cases, labels, 200, 0.08, 0.1)end = time.perf_counter()print("Training complete! Time used: %.2f s"%(end - start))

🚀關于anaconda

我對anaconda的理解就是這是一個管理環境的工具(python工程都需要運行在一定的),每一個環境都有特定的python版本、以及一定的庫。

一些常用的命令:
關于環境管理:
1、創建一個新的環境(python版本為3.9.0):

conda create -n EnvieonmentName(自定義環境名) python==3.9.0

2、查看當前已創建的環境

conda env list

3、激活已創建的環境

activate EnvironmentName(具體的環境名)

4、刪除已創建的環境

conda create -n EnvieonmentName(自定義環境名) --all

關于環境中包的管理:
1、下載某一個包(庫)

pip install PackageName(具體的包名)

下載具體版本的包

pip install PackageName(具體的包名)=1.2.0

2、查看某一環境中已下載的包
先激活該環境,然后

conda list

3、查看某一包的具體信息:

pip show PackageName(包的具體的名字)

總結

以上是生活随笔為你收集整理的随手查_python的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。