十一 機器學習之路 Python基礎資料運算

2021-08-10 13:30:57 字數 4730 閱讀 3266

沒學習過python的小夥伴可能會對之前部落格裡的**裡的array,arrange,list等一頭霧水,今天咱們簡單介紹一下python裡的這些基礎的資料運算方法,及python裡的基礎資料型別。本篇部落格參考runoob**的python基礎教程,有興趣的小夥伴可以通過這個鏈結學習一下python的基礎知識。現在介紹一下python裡的標準資料型別:

python標準資料型別

在記憶體中儲存的資料可以有多種型別。和其他語言一樣python裡也有數字、字串這些資料型別。在python裡定義了一些標準型別,用於儲存各種型別的資料。

python有五個標準的資料型別:

number(數字)

數字資料型別用於儲存數值。當你指定乙個值時,number物件就會被建立:

var1 = 1

var2 = 10

python支援四種不同的數字型別:

- int(有符號整型)

- long(長整型[也可以代表八進位制和十六進製制])

- float(浮點型)

- complex(複數)

python裡支援複數,可以用 a + bj,或者 complex(a,b) 表示, 複數的實部 a 和虛部 b 都是浮點型。

例項:

string(字串)

字串或串(string)是由數字、字母、下劃線組成的一串字元。

程式設計師最常見的字串:

string="hello world"
如果要從字串中獲取一段子字串,可以使用變數 [頭下標:尾下標],就可以擷取相應的字串,其中下標是從 0 開始算起,可以是正數或負數,下標可以為空表示取到頭或尾。

例項:

#!/usr/bin/python

# -*- coding: utf-8 -*-

str = 'hello world!'

print str # 輸出完整字串

print str[0] # 輸出字串中的第乙個字元

print str[2:5] # 輸出字串中第三個至第五個之間的字串

print str[2:] # 輸出從第三個字元開始的字串

print str * 2

# 輸出字串兩次

print str + "test"

# 輸出連線的字串

輸出結果

hello world!

hllo

llo world!

hello world!hello world!

hello world!test

list(列表)列表在python裡十分常見,是我們使用頻率很高的一種資料型別,列表可以完成大多數集合類的資料結構實現。它支援字元,數字,字串甚至可以包含列表(即巢狀)。

列表用 [ ] 標識,是 python 最通用的復合資料型別。

列表中值的切割也可以用到變數 [頭下標:尾下標] ,就可以擷取相應的列表,從左到右索引預設 0 開始,從右到左索引預設 -1 開始,下標可以為空表示取到頭或尾。

加號 + 是列表連線運算子,星號 * 是重複操作。如下例項:

#!/usr/bin/python

# -*- coding: utf-8 -*-

list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]

tinylist = [123, 'john']

print list # 輸出完整列表

print list[0] # 輸出列表的第乙個元素

print list[1:3] # 輸出第二個至第三個元素

print list[2:] # 輸出從第三個開始至列表末尾的所有元素

print tinylist * 2

# 輸出列表兩次

print list + tinylist # 列印組合的列表

輸出結果:

['runoob', 786, 2.23, 'john', 70.2]

runoob

[786, 2.23]

[2.23, 'john', 70.2]

[123, 'john', 123, 'john']

['runoob', 786, 2.23, 'john', 70.2, 123, 'john']

def

loaddataset

(): datamat = ; labelmat = #datamat為x輸入資料,labelmat為輸出0,1資料

fr = open('/users/cailei/cai_lei/ai/machinelearning_data/ch05/testset.txt')

for line in fr.readlines():

linearr = line.strip().split()#移除頭尾指定字元,並將資料分割為不同部分

#print(datamat)

return datamat,labelmat

再寫乙個簡單的例子:

#將dict1裡的資料乙個乙個新增到dict裡去

dict = [1,2,3]

dict1 = [4,5,6]

n=len(dict1)

for i in range(n):

print dict

#將dict1和dict2直接相加也同樣可以

dict = [1,2,3]

dict1 = [4,5,6]

dict2 = dict1+dict

print dict2

輸出結果如下所示:

[1, 2, 3, 4, 5, 6]

[4,5,6,1,2,3]

tuple(元組)元組是另乙個資料型別,類似於list(列表)。

元組用」()」標識。內部元素用逗號隔開。但是元組不能二次賦值,相當於唯讀列表。

#!/usr/bin/python

# -*- coding: utf-8 -*-

tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )

tinytuple = (123, 'john')

print tuple # 輸出完整元組

print tuple[0] # 輸出元組的第乙個元素

print tuple[1:3] # 輸出第二個至第三個的元素

print tuple[2:] # 輸出從第三個開始至列表末尾的所有元素

print tinytuple * 2

# 輸出元組兩次

print tuple + tinytuple # 列印組合的元組

輸出結果:

('runoob', 786, 2.23, 'john', 70.2)

runoob

(786, 2.23)

(2.23, 'john', 70.2)

(123, 'john', 123, 'john')

('runoob', 786, 2.23, 'john', 70.2, 123, 'john')

dictionary(字典)字典(dictionary)是除列表以外python之中最靈活的內建資料結構型別。列表是有序的物件集合,字典是無序的物件集合。兩者之間的區別在於:字典當中的元素是通過鍵來訪問的,而不是通過偏移訪問。

字典用」」標識。字典由索引(key)和它對應的值value組成。

#!/usr/bin/python

# -*- coding: utf-8 -*-

dict = {}

dict['one'] = "this is one"

dict[2] = "this is two"

tinydict =

print dict['one'] # 輸出鍵為'one' 的值

print dict[2] # 輸出鍵為 2 的值

print tinydict # 輸出完整的字典

print tinydict.keys() # 輸出所有鍵

print tinydict.values() # 輸出所有值

輸出結果

this is one

this is two

['dept', 'code', 'name']

['sales', 6734, 'john']

Python全棧最全學習之路 Linux基礎(二)

一 ubuntu軟體管理選項 功能 m 自動建立使用者的登入目錄 u uid 指定uid,這個uid必須是大於等於500,並沒有其他使用者占用的uid g gid groupname 指定預設組,可以是gid或者groupname,同樣也必須真實存在 g groups 指定額外組 c comment...

Python全棧最全學習之路 Linux基礎(三)

一 文字傳輸 鄭重宣告!這些自己玩下就好,切勿對別人使用,負責造成後果自負哦 使用z引數打包後的大小更小 解壓後包還在 ps 命令 u 按使用者和啟動時間的順序來顯示程序 a 顯示所有使用者的所有程序 x 顯示無終端控制的程序 f 列出程序全部相關資訊,通常和其他選項聯用 e 所有程序 l 採用詳細...

二十一 機器學習之路 神經網路入門

寫在前面 本篇博文參考吳恩達的 機器學習 課程 淺層神經網路 周志華 機器學習 牆裂建議大家先看一下知乎裡的乙個博主的回答,如何簡單形象又有趣的講解神經網路是什麼,非常適合入剛上路的小白。同時推薦大家先學習機器學習之路 logistic回歸後再來看這篇部落格。今天來講一下神經網路,神經網路這個概念很...