1.将字段名称全部放在列表
data_vars=data.columns.values.tolist()
2.过滤长度小于等于3的人名
names=['tom','jack','joe','apple','rain','bubby']
name=[x for x in names if len(x)>3]
#结果如下
'''
['jack', 'apple', 'rain', 'bubby']
'''
3.python sklearn模型中random_state参数的意义
4.np.where的使用
5.随机抽样和分层抽样
train_test_split和StratifiedShuffleSplit
6.corr()与describe()
data.describe() #基本统计量
count 195.000000 #数量
mean 2744.595385 #均值
std 424.739407 #标准差
min 865.000000 #最小值
25% 2460.600000 #下四分位
50% 2655.900000 #中位数
75% 3023.200000 #上四分位
max 4065.200000 #最大值
range 3200.200000 #极差max-min
var 0.154755 #变异系数 std/mean
dis 562.600000 #四分位间距 75%-25%
data.corr()
data.corr() #相关系数矩阵,即给出了任意两个变量之间的相关系数
data.corr()[u'好'] #只显示“好”与其他感情色彩的相关系数
data[u'好'].corr(data[u'哭']) #两个感情色彩的相关系数
7.filter() 函数
filter()函数用于过滤序列,过滤掉不符合条件的元素,返回符合条件的元素组成新列表。
filter()语法如下:
filter(function,iterable)
# 其中function为函数,iterable为序列
序列中的每个元素作为参数传递给函数进行判断,返回True或者False,最后将返回True的元素放到新列表中
def is_odd(n):
return n % 2 == 1
tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
newlist = list(tmplist)
print(newlist)
8.Python items方法
--作用: 将字典类型转换为可遍历的元组
--用法: dict.items()
dict = {'Google': 'www.google.com', 'Baidu': 'www.baidu.com', 'taobao': 'www.taobao.com'}
# 将字典类型转换为可遍历的元组
print("字典值: %s" %dict.items())
'''
字典值: dict_items([('Google', 'www.google.com'), ('Baidu', 'www.baidu.com'), ('taobao', 'www.taobao.com')])
'''
# 遍历字典列表
for key,values in dict.items():
print(key,values)
'''
Google www.google.com
Baidu www.baidu.com
taobao www.taobao.com
'''
9.python中:x +=1和x = x + 1的区别
'''
1、注释:
(1)不可变元素的类型有:整数、浮点数、字符串、元组
(2)可变元素的类型有:列表、字典
2、说明:
问题:“=”号的作用是将对象引用与内存中的对象进行绑定,整数既然是“不可变”的,如何改变一个指向整数的变量值呢?
答案:直接在内存中创建一个新的整数值,然后将变量引用与其绑定
3、在可变元素类型中(列表、字典)“x +=1"与"x=x+1"的区别说明:
(3.1)不可变元素的类型,“x +=1"与"x=x+1"作用一样,没有区别
(3.2)可变元素的类型中,“x +=1"与"x=x+1"作用不同,区别如下:
x +=1,表示:修改x自身的值(前提是:x必须是可变对象)
x = x + 1,表示:创建一个新的"同名”对象x,并将x + 1,赋值给新创建的同名变量x(它的含义和y = x + 1相同,只不过这里将y取名为x了),x + 1赋值给新x后,旧x的指向就会被释放
'''
print('*************整数,不可变变量***********************')
z=x=1
x +=2
print('z等于:',z)
print('\n')
z = x = 1
x = x + 2
print('z等于:',z)
print('\n')
print('*************列表,可变变量***********************')
print('\n')
z = x = [1,2] #初始,x和z都指向[1,2]
x +=[3,4] #修改x自身的值
print('z等于:',z) #x和z,指向相同,当x本身被改变的时候,z因为指向相同,也会被改变
print('\n')
z = x = [1,2] #初始,x和z都指向[1,2]
x = x + [3,4] #创建新同名变量:x,并将x+1赋值给x(即新x指向x+1,旧x指向释放)
print('z等于:',z) #因为不是改变x自身,而是创建一个新的变量x,改变新的变量x,旧的x变量不变,因此z不变
10.python zip函数
#1.zip函数以可迭代的对象作为输入参数,将对象中对应的元素打包成元组输出新的对象,
a = [1, 2, 3]
b = [4, 5, 6]
c = [4, 5, 6, 7, 8]
a_b_zip = zip(a, b) # 打包为元组的列表,而且元素个数与最短的列表一致
print("type of a_b_zip is %s" % type(a_b_zip)) # 输出zip函数的返回对象类型
a_b_zip = list(a_b_zip) # 因为zip函数返回一个zip类型对象,所以需要转换为list类型
print(a_b_zip)
'''
[(1, 4), (2, 5), (3, 6)]
'''
print("------------------------------------------")
a_c_zip = zip(a, c)
a_c_zip = list(a_c_zip)
print(a_c_zip)
'''
[(1, 4), (2, 5), (3, 6)]
'''
11.zip(*zipped)
#1
nums = [['a1', 'a2', 'a3'], ['b1', 'b2', 'b3'], ['c1', 'c2', 'c3']]
iterator = zip(*nums) # 参数为list数组时,是压缩数据,相当于zip()函数
print("type of iterator is %s" % type(iterator)) # 输出zip(*zipped)函数返回对象的类型
iterator = list(iterator) # 因为zip(*zipped)函数返回一个zip类型对象,所以需要转换为list类型
print(iterator)
#2
a=[1,2,3]
b=[4,5,6]
c=[7,8,9]
print(list(zip(*zip(a,b,c))))
'''
[(1, 2, 3), (4, 5, 6), (7, 8, 9)]
'''
#3
l = ['a', 'b', 'c', 'd', 'e','f']
print(l)
#打印列表
print(list(zip(l[:-1],l[1:])))
'''
[('a', 'b'), ('b', 'c'), ('c', 'd'), ('d', 'e'), ('e', 'f')]
'''
#4
nums = ['flower','flow','flight']
for i in zip(*nums):
print(i)
'''
('f', 'f', 'f')
('l', 'l', 'l')
('o', 'o', 'i')
('w', 'w', 'g')
'''
12.sort 与 sorted 区别:
#sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
#list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
sorted 语法:
sorted(iterable, key=None, reverse=False)
参数说明:
iterable -- 可迭代对象。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
#!!!!!!!使用 sorted() 函数对序列进行排序, 并不会在原序列的基础进行修改,而是会重新生成一个排好序的列表
a = [5,7,6,3,4,1,2]
b = sorted(a) # 保留原列表
print(a)
[5, 7, 6, 3, 4, 1, 2]
print(b)
[1, 2, 3, 4, 5, 6, 7]
L=[('b',2),('a',1),('c',3),('d',4)]
sorted(L, key=lambda x:x[1]) # 利用key
'''
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
'''
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
sorted(students, key=lambda s: s[2]) # 按年龄排序
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
sorted(students, key=lambda s: s[2], reverse=True) # 按降序
[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
13.append和extend的区别
#list.append(object) 向列表中添加一个对象object
#list.extend(sequence) 把一个序列seq的内容添加到列表中
music_media = ['compact disc', '8-track tape', 'long playing record']
new_media = ['DVD Audio disc', 'Super Audio CD']
music_media.append(new_media)
print(music_media)
['compact disc', '8-track tape', 'long playing record', ['DVD Audio disc', 'Super Audio CD']]
music_media = ['compact disc', '8-track tape', 'long playing record']
new_media = ['DVD Audio disc', 'Super Audio CD']
music_media.extend(new_media)
print(music_media)
['compact disc', '8-track tape', 'long playing record', 'DVD Audio disc', 'Super Audio CD']
14.datetime模块(有实例)
16.enumerate
#1.enumerate()是Python的内置函数
#2.用于可迭代\可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标
#3.一般在for循环中使用
lis = ['a', 'c', 'sd', 'we']
dic = {}
for k, v in enumerate(lis):
dic[k] = v
print(dic)