list、tuple的相關操作和array、mat的定義
在用Python做資料分析的時候,會用到很多資料型別,因此,對個數據型別的用法需要一定的瞭解。
1. list
list的包含的資料型別不一定必須相同,可以為字串、數值以及陣列,其中,llist大都應用它的內建函式。
定義列表:a = [[1,2],[3,4],’string’]
1. append
append方法用於新增新的物件
2. count
count方法統計某個元素
3. extend
extend方法用於新增某個列表
b =[‘jolin’]
a.extend(b)
print a
>>[[1,2],[3,4],’string’,’jolin’]
4. index
index方法用於從列表中找到符合匹配項的索引位置
print a.index(‘string’)
print a
>>2
5. insert
insert方法用於將物件插入列表
print a.insert(2,’jay)
print a
>>[[1,2],[3,4],’jay’,’string’]
6. pop
pop方法會移除列表中的一個元素(預設是最後一個),並返回該元素的值
a.pop()
>>string
>>a
>>[[1,2],[3,4]]
>>a.pop(1)
>>[3,4]
7. remove
remove方法用於移除列表中第一個匹配的項
a = [‘jay’,’jolin’,’kobe’,’yamazaki’,’iori’,’kobe’]
a.remove(‘kobe’)
>>a
>>[‘jay’,’jolin’,’yamazaki’,’iori’,’kobe’]
8. reverse
reverse方法將列表的元素反向存放
x =[1,2,3]
x.reverse()
>>x
>>[3,2,1]
9. sort
sort方法用於在原位置對列表進行排序,在原位置排序意味著改變原來的列表,從而讓其中的元素能按一定的順序排列,而不是返回副本
x =[4,6,2,1,7,9]
>>x.sort()
>>x
>>[1,2,4,6,7,9]
>>y=x.sort()
>>print y
>>None
10. 高階排序
如果希望元素能按照特定的方式進行排序,那麼可以通過compare(x,y)的形式自定義比較函式。compare(x,y)函式會在x<y時返回負數,x>y時返回正數,x=y時返回0。
numbers =[5,2,9,7]
>>numbers.sort(cmp)
>>numbers
[2,5,7,9]
sort方法有另外兩個可選的引數——key和reverse。如果要使用它們,那麼就要通過名字來指定(關鍵字引數),並根據關鍵字來排序
x = [‘aardvark’,’abalone’,’acme’,’add’,’aerate’]
>>x.sort(key=len)
>>x
[‘add’,’acme’,’aerate’,’abalone’,’aardvark’]
x=[4,6,2,1,7,9]
>>x.sort(reverse=True)
>>x
>>[9,7,6,4,2,1]
2、元組
通過tuple函式來定義元組,
>>a=tuple([1,2,3])
>>type(a)
>><type ‘tuple’>
元組型別除了不能修改元素之外,其他的操作與列表相似
3、Array和Matrix
這兩個資料型別需要下載Numpy包
from numpy import *
Array的定義:
>>b=np.array([[1,2],[3,4]])
>>b.shape
(2,2)
>>b.ndim
>>2
>>b[0]
array([1,2])
>>b[0][1]
>>2
Mat的定義
>>c =mat([1,2],[3,4])
matrix([[1,2],
[3,4]])
>>c.shape
(2,2)
矩陣的操作和二維陣列操作類似,不做過多的介紹,具體用時可以再查閱
4、資料型別的轉換
list型別轉array型別,再轉為Mat型別
>>a=[1,2,3,4]
>>b=array(a)
>>b
>>array([1,2,3,4])
>>b.shape()
(4,)
>>c=mat(b)
>>c
matrix([1,2,3,4])
>>c.shape
(1,4)
參考資料:
《Python基礎教程》 第2版 修訂版 司維、曾均崴、譚穎華 譯