在用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方法有另外两个可选的参数——keyreverse。如果要使用它们,那么就要通过名字来指定(关键字参数),并根据关键字来排序

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、ArrayMatrix

这两个数据类型需要下载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版 修订版  司维、曾均崴、谭颖华 译