Python处理数据,最常用的是dataframe结构。但dataframe其实也是由其他对象组成的,比如int、float、字符串等等。今天来了解一下其他常见的对象,熟悉他们的用法。
列表List
list1 = ['a','b','c'] #每个元素都是字符串list2 = [1,2,3] #每个元素都是数字list3 = ['a','b',1,2,[1,2]] #元素有字符串、数字、列表
列表里的元素,可以是各种格式,数字、字符串,甚至是列表。
访问列表的值
print(list1[0]) #list1的第1个元素(索引从0开始)print(list3[4][0]) #访问list3中[1,2]中的1print(list3[0:3]) #切片:访问索引0、1、2,注意[0:3]不包含3print(list1[-1]) #访问倒数第一个值
列表的添加:extend和append
#注意extend和append的用法:单个元素时,用法一致。但多个元素时,不一致list1.append('d') #append添加'd'print('append:dn',list1,'n')list1.extend('e') #extend添加'e'print('extend:en',list1,'n')list1.append(list2) #append添加list2print('append:list2n',list1,'n')list1.extend(list2) #extend添加list2print('extend:list2n',list1,'n')
可以看到,append是把list2整个塞进去,而extend是把list2的元素塞进去。这一点一定要分清楚哦。而且append和extend,都是在原来的列表上修改。
元素移除
list1.pop(-1) #移除最后一个元素list1.remove('a') #删除数值a,若有多个a,则删除第一个
注意,都是在原本的列表上修改。如果怕丢掉原始数据,一定要先备份,再操作。
其他
list2.reverse() #把原列表顺序反转:如[1,2,3]改成[3,2,1]['a','a','a','b'].count('a') #计数a的个数['a','a','a','b'].index('a') #找到第一个a所在的索引[1,2,3] + [4,5,6] #列表拼接len(list1) #求list1的长度min(list2) #最小值list(set(['a','a','a','b'])) #列表去重:先转换成set集合(无重复数据),再转换成列表
字符串str
s1 = 'python and data's2 = 'hello's1[0] #索引第一个值s1[3:7] #第3、4、5、6个值s3 = s2 + s1 #字符串拼接'p' in s1 #判断p是否在s1中,常用于if中't' not in s1
分割split
s = 'a.b.c.d-e-f-d's.split('.') #以.进行分割,返回列表s.split('-') #以-进行分割,返回列表
遍历字符串的索引、值
for i,v in enumerate('abcdefg'):print(i,v) #i是index,v是数值
字典dict
d1 = {'李':5000,'王':3000,'张':8000,'吴':2500}d2 = {'李2':1000}
访问、运算
d1.keys() #字典的键d1.values() #字典的值d1.update(d2) #合并字典d1['李'] #访问李
进阶:推导式
推导式还是比较方便的,相当于把for循环简写了,但是要脑子清晰,不然容易绕。
[x.upper() for x in 'abcde'] #将'abcde'大写,遍历字符串中的每个值[x.upper() for x in 'abcaade' if x=='a'] #调出字符串中的a,并大写[x for x in range(10) if x%3==0] #在0-9(不包含10)的数字中,求出3的倍数list1 = ['a','b','c','d']list2 = [1,2,3,4]dict1 = {x:y for x,y in zip(list1,list2)} #将list1、list2配对成字典
专栏列表
数据分析与Python:【Python代替Excel】1:Python与Anaconda
数据分析与Python:【Python代替Excel】2:数据的读取
数据分析与Python:【Python代替Excel】3:数据的预览
数据分析与Python:【Python代替Excel】4:数据的清洗
数据分析与Python:【Python代替Excel】5:数据的统计分析
数据分析与Python:【Python代替Excel】6:按条件筛选
数据分析与Python:【Python代替Excel】7:merge、concat、append
数据分析与Python:【Python代替Excel】8:Python也能做数据透视表