在用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版 修订版 司维、曾均崴、谭颖华 译