该部分将对python数据结构、函数等基础内容进行回顾,python大牛和想要直接套用模板进行数据分析方法的朋友可以直接跳过此部分。
元组和列表是python最常见也是最基本的数据结构,其区别在于元组的内容和长度是不可变的,而列表是可变的。下面通过实例来介绍一些元组列表的基本操作。
a=[1,2,3,4]
b=1,2,3,4
print(type(a))
print(type(b))
(1)列表->元组
a=tuple(a)
print(a)
print(type(a))
(1, 2, 3, 4)
(2)元组->列表
b=list(b)
print(b)
print(type(b))
[1, 2, 3, 4]
可以通过tuple和list函数将任意序列和迭代器换成元组和数列。
元组和列表扩展的方式是相同的。
(1,2,"jerry")+(3,4,"tom")
(1, 2, 'jerry', 3, 4, 'tom')
[1,2,"jerry"]+[3,4,"tom"]
[1, 2, 'jerry', 3, 4, 'tom']
(1,"jerry")*2
(1, 'jerry', 1, 'jerry')
[1,"jerry"]*3
[1, 'jerry', 1, 'jerry', 1, 'jerry']
需要注意的是元组连接和扩展并没有让原本的元组长度和内容发生变化,而是生成了一个新的元组(c=a+b)c是一个全新的元组,a和b并不受其影响。
对元组的数据或对列表的数据进行拆包通常用作变量赋值。
a,b=(1,2)
c,d=[3,4]
print(a,b,c,d)
1 2 3 4
a=1,2,3,4,5,6
b,c,*_=a
#*_代表从3及以后的数字将被舍弃
print(b,c)
1 2
由于元组的不可变性,除了一些查询操作,暂时没有想到其他的可操作性,接下来将对列表的常用操作进行回顾。
(1)增加、删减元素
a=['jerry','tom']
a.append(1)#末尾增加数字1
print(a)
['jerry', 'tom', 1]
a=['jerry','tom']
a.insert(1,'rose')#指定位置插入字符串“rose”
print(a)
['jerry', 'rose', 'tom']
a=['jerry','tom']
a.pop(1)#删除指定位置元素
print(a)
['jerry']
a=['jerry','tom']
a.remove('tom')#从位置0开始移除第一个遇到的“tom”
print(a)
['jerry']
(2)sorted
a=[3,2,1,4]
sorted(a)#将a内元素从小到大,从a到z进行排序,这部分网上内容较多,可以进行参考
[1, 2, 3, 4]
(3)reversed
list(reversed(a))#将列表a中的元素倒叙排列,此处需要注意,reversed是生成器,因此需要list
[4, 1, 2, 3]
(4)enumerate
a=['tom','jerry','rose']
for position,name in enumerate(a):
print(position,name)
0 tom
1 jerry
2 rose
将列表输入enuerate函数,会输出(位置,当前位置的元素)
上面介绍了python中最基本的两种数据结构及其操作,在后面还会结合具体案例对其操作进行拓展、补充。
这部分在数据分析中用的特别多,我们先来看看字典的型式。
dict = {'mother': 'jerry', 'father': 123, 'son':['tom']}
字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 。