zip
转置矩阵
>>>a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b) # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c) # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped) # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]
画图时,根据x的排序,排列y
x,y= zip(*sorted(zip(x,y)))
map lambda
计算二维数组中,负数的个数
grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]
sign = [sum(map(lambda n: n < 0, arr)) for arr in grid]
sign
[1, 1, 2, 4]
apply lambda
文本数据中,对于停用词和分词的处理,进行逐行处理时,可以用apply lambda, 自动导入每行数据。
#停用词
for i in stopwords:
data['描述']=data['描述'].apply(lambda x:x.replace(i,''))
#中文分词
data['描述']=data['描述'].apply(lambda x:' '.join(list(jieba.cut(x))))