1.變量
(1)命名規則:變量名只能包含字母、數字和下劃線,並且數字不能作爲首字;變量名中不能包含空格;變量名既簡潔又具有代表性;儘量不要使用易混淆字母;大小寫字母不是一個變量;不要和python裏面的關鍵字混淆
創建變量時會根據後面的值進行類型的創建
2.字符串
字符串就是一系列字符。在python中,用單引號或者雙引號括起來的都是字符串。而在字符串裏面可以嵌套單引號或者雙引號。如,'w"w"',"w'w'"。下面的表達中將使用String作爲字符串名字,來表示字符串的函數。
(1)修改字符串的大小寫。
String.lower() #將字符串轉爲小寫
String.upper() #將字符串轉爲大寫
String.swapcase() #大小寫互換
String.capitalize() #首字母大寫
String.title() #將每個單詞都以首字母大寫的方式展示
(2)合併(拼接)字符串
String2 = String + String1 #利用加號來合併字符串
(3)空白字符串
空白泛指任何非打印字符,如空格、製表符和換行符。
(4)刪除空白
String.rstrip() #去掉字符串右側的多餘的空白
String.lstrip() #去掉字符串左邊多餘的空格
String.strip() #去掉字符串兩邊多餘的空格
上述幾個方法是去掉多餘的空格,可以把空格換成任何的字符。
(5)查找字符串
String.index(String2) #查找String2在String中的位置,但是沒有找到字符串會報錯
String.find(String2) #查找String2在String中的位置,沒有找到字符串會返回-1
(6)比較字符串
if String == String1: #if-else可以作爲字符串比較函數,並且String和String1可以進行截斷比較的
String.startswith(String1,start,end) #用於檢查字符串是否是以指定子字符串開頭,String1在String的起始檢測位置start,字符串結尾檢測位置end
String.endswith(String1,start,end) #用於判斷字符串是否以指定後綴結尾,String1在String的起始檢測位置start,字符串結尾檢測位置end
(7)字符串長度
len(String) #得到String字符串的長度
(8)追加字符串指定長度的字符串
String = String + String[0:2] #
(9)翻轉字符串
String = String[::-1] #翻轉String字符串
(10)分割字符串
String.split() #按空格進行字符串分割
(11)連接字符串
' '.split(list) #list是一個列表,將列表轉換爲一個字符串
(12)替換字符串
String.replace(str1,str2) #將str1替換爲str2
(13)截取字符串
String[start:end] #截取起始位置start到終點位置end
String[start:end:increase] #截取起始位置start到終點位置end,並且按increase進行增加選取
(14)統計字符串出現的次數
String.count(substr,start,end) #統計substr在String字符串出現的個數
(15)字符串的默認編碼
String.encode() #指定的編碼格式編碼字符串
String.decode() #指定編碼格式解碼bytes對象
(16)字符串判斷函數
String.isalnum() #判斷字符串是否全是字母和數字
String.isalpha() #是否全是字母
String.isdigit() #是否全是數字
String.isspace() #是否全是空白字符
String.istitle() #判斷首字母是否是大寫的
3.註釋
單行註釋用#號標示
多行註釋'''或者"""之間括起來。
4.列表
列表由一系列特定順序排列的元素組成,列表中的元素沒有任何關係,用[]來表示列表。
列表是有序集合,因此要訪問列表的任何元素,只需訪問元素的位置或索引就可以訪問列表元素,例如,ret[0]。列表中第一個索引爲0,而不是1。正索引是從列表正向提取列表元素,負方向則是從列表向前提取列表元素。
(1)訪問列表元素
list1[0] #訪問第一個元素
list1[0:1] #訪問前2個元素
在訪問的同時就可以進行修改元素,也是按照索引方法進行修改。
(2)添加元素
list1.append() #在列表後面添加元素
list1.extend() #將一個列表加入到list中
list1.insert(1,'a') #將一個元素插入到列表中,第一個參數爲插入的位置,第二個元素爲插入的元素值
list1 = list1 + list2 #使用+號可以將兩個list相加,返回一個新的list
(3)刪除元素
del list1[0] #刪除第一個元素,按照索引進行刪除
list1.remove(1) #刪除滿足首個符合條件的元素,是索引刪除方法,也可以刪除字符串元素的
list1.pop(1) #刪除單個元素,刪除時會返回被刪除的元素,默認是最後一個元素。如果沒有參數就刪除list中最後一杆 元素
(4)返回數字數組最大元素值
max(lsit1) #返回列表最大元素值
(5)返回數字數組最小元素值
min(list1) #返回列表最小元素值
(6)數字數組之和
sum(list1) #數值的總和
(6)返回列表的長度
len(list1) #返回列表的長度
(7)統計個數
list1.count() #統計某個元素在類別中出現的次數
(8)翻轉列表
list1.reverse() #翻轉列表
(9)列表排序
list1.sort() #按升序進行排序,同時改變list的順序
list1.sort(reserver=True) #降序進行排序,同時改變list的順序
sorted(list1) #按升序進行排序,並且不改變list中的順序,返回一個新的list
上述都是針對單個元素list的,下面將說明多元素的list排序
sorted(iterable, cmp, key, reverse)
iterable是進行迭代的對象,cmp是比較函數,這個具有2個參數,參數值都是從對象中取出的,並且遵守大於返回1,小於返回-1,相等則爲0。key主要來進行一個參數的排序。reverse是進行降序、升序的設定。
sorted(list1,cmp=lambda x,y:cmp(x[1],y[1]))
sorted(list1,key=lambda s:s[1])
(10)遍歷列表
使用for語句進行遍歷,如,
for word in list1:
print(word)
(11)創建數字列表
range(start,end,iter) #該函數能夠生成一系列的數字。從start到end-1,iter爲增加的步長
list1 = list(range(1,5)) #得到[1,2,3,4],可以寫成list1 = [word for word in range(1,5)]
(12)複製列表
list2 = list1[:] #將list1的所有元素都賦值到list2中
(13)檢查特定值是否在列表中
if word (not) int list1: #判斷word是否在列表中
5.元組
列表可以存儲在程序運行期間可能變化的數據集,是可以修改的。而元組可以創建一系列不可以修改的元素。數組是用[]表示,元組是用()來標識的。
可以利用list中的選擇元素的方法進行選擇元素,也可以用for來遍歷元組中的值。但是,不能改變元組的元素,可以給存儲元組的變量賦值。
6.if-else語句
if 條件1:
語句1
elif 條件2:
語句2
當條件1成立時,將會執行語句1,而條件1不成立時,條件2成立時,將執行語句2.
7.字典
字典是一個鍵-值對。沒個鍵都與一個值相關聯,字典用{}括起來。
字典中不允許同一個鍵出現兩次,當出現2次時,第一次的值將會被覆蓋。鍵必須不可變,所以可以用數字,字符串或元組充電,列表則不行。
(1)訪問字典中的值
dict1['name'] #將相應的鍵放入到[]中即可,而當字典中沒有鍵時會顯示錯誤信息
(2)添加鍵-值對
dict1['color'] = 'green' #將鍵放入到[]中,而值放到等會後面。
(3)修改字典
dict1['color'] = 'red' #只需要按索引鍵進行重新賦值就可以
(4)刪除字典元素
del dict1['color'] #刪除鍵爲color的字典元素
dict1.clear() #清除詞典所有條目
del dict1 #刪除詞典
(5)遍歷字典
for key,value in dict1.items(): #存儲鍵-值,鍵:key,值:value
for name in dict1.keys() #遍歷dict的所有鍵
for value in dict1.values() #遍歷dict的所有值
(6)嵌套
字典存儲列表,如,dict_0={},dict_1={},user = [dict_0,dict_1]
字典存儲字典,如,user = {'name'={}},user = {'name'=[]}
8.輸入函數
Input() #用戶輸入一些文本,並將文本存儲到一個變量中,該文本是以字符串形式存儲的,需要其他類型時強制轉換即可
9.while函數
while 條件1:
語句1
當while條件成立時,將執行語句1
10.break和continue
break終止整個循環,當執行break時,將不再運行循環中餘下的代碼;
continue是跳出當次循環,繼續執行循環中的下一次循環;
11.文件
(1)讀取整個文件
open('sample.txt') #返回一個表示文本的對象
with open('sample.txt'): #當with出現錯誤時,都會進行對當前對象進行清理工作,而無論with中無論出現任何錯誤,都會執行close方法
常見open打開文本的讀寫方法:
w以寫方法打開
a以追加的模式打開
w+以讀寫模式打開
r+以讀寫模式打開
os.listdir(dir) #獲得單個目錄結點的子結點
file.write() #寫入文件
file.close() #關閉文件
open('sample.txt').readline() #基於行的讀寫
12.numpy函數彙總
numpy.ndim #獲取數組的行數
numpy.shape[0] #獲得數組的第一維長度,就是行的個數
numpy.shape[1] #獲取數組的第二維長度,就是列的個數
numpy.nditer(a,op_flags=['readwrite]) #迭代數組a,就是訪問a數組中的元素,默認情況下是隻讀模式,爲了方便對數組修改,需要制定readwrite模式。
numpy.random.random((2,3)) #隨機矩陣進行初始化,值的範圍是-1到1之間
numpy.random.uniform(low,high,size) #從一個均勻分佈[low,high)中隨機採樣,size爲樣本數目,爲int或者元組。如下圖所示。
numpy.shape #輸出array的大小
repr(obj) #將obj對象轉換爲供解釋器讀取的形式,返回一個string類型
numpy.hstack(tup) #參數tup可以是元組,列表或者numpy數組,返回結果爲numpy數組。按照水平(按列)順序把數組給疊加起來
nmpy.vstack(tup) #參數tup可以是元組,列表或者numpy數組,返回結果爲numpy數組。按照水平(按行)順序把數組給疊加起來
numpy[:,0] #是取出numpy二維數組中第一維度中的所有數據,組成一下新的numpy
numpy[:,1] #是取出numpy二維數組中第二維度中的所有數據,組成一下新的numpy
numpy[:,0:1] #是取出numpy二維數組中第一、第二列的所有數據,組成一下新的numpy
numpy.array([image_list,label_list]) 將2個numpy生成一個新的numpy,生成的格式如下[[image_list[0],image_list[1]] [label_list[0],label_list[1]]
numpy.transpose() #矩陣轉置(numpy.T)
numpy.random.shuffle(temp) #打亂temp的順序
numpy.arange(start,end,plus) #從start到end,然後按步長增加
numpy.arange(15).reshape(3,5) #從0到14一共15個數,生成3*5的矩陣
numpy.zeros((3,4),dtype=np.int32) #生成3*4的0矩陣,並且默認的值是float類型。可以通過dtype可以設置值的類型
numpy.linspace(start,end,num) #從start到end中平均找到num個數字,會自動進行平均計算
numpy.dot(A,B) #矩陣進行相乘(等於A.dot(B)),A*B是進行內機相乘
numpy.exp(B) #求B的e的次方的值
numpy.sqrt(B) #求B的平方根矩陣
numpy.floor(B) #向下取整
B.ravel() #將矩陣進行拉長,轉換爲1*n的
B.shape = (6,2) #轉換爲6*2矩陣
numpy.hsplit(B,num) #將矩陣B平均的切成num份,按列進行切分
numpy.hsplit(B,(num1,num2)) #將矩陣B按照num1、num2進行切分
numpy.vsplit(a, num) #將矩陣B平均的切成num份,按行進行切分
B.view() #進行B矩陣的淺複製
A=B.copy() #B是A的一個初始化,A和B可以進行各自操作
B.argmax(axis=0) #返回矩陣中每列的最大值的index,axis=1表示按行進行查找
numpy.tile(B,(num1,num2)) #將B矩陣進行復制,擴充到num1*num2
numpy.sort(B,axis=1) #B進行按行排序
numpy.argsort() #索引排序
13.pands
主要是用來數據預處理方面
info = pands.read_csv() #讀取csv文件
info.dtypes #會打印每個列的類型
info.head(num) #顯示出num條數據
info.tail(num) #顯示最後的num條數據
info.columns #打印出列的名字
info.shape #打印出數據的條數及列數
info.loc[num] #打印出第num條數據
info.columns.tolist() #將列轉換爲list
info.sort_values(string, inplace=True,ascending=True) #按照string列進行排序,inplace表示新生成一個dataframe,ascending進行升降序。
info['age'].mean() #求age列的平均值
參考文獻:
https://www.cnblogs.com/hanmolabi/p/8179765.html