Python常用函数与技巧总结(一)

一、map(function,iterable,…..)

作用:将iterable中的每一个元素应用function方法处理,将结果作为list返回
如:
def add100(x):
return x+100
hh=[11,22,33]
a=map(add100,hh)
print(list(a))

如:

def abc(a,b,c):
    return a*10000+b*100+c 

list1=[11,22,33]
list2=[44,55,66]
list3=[77,88,99]

b=map(abc,list1,list2,list3)
print(list(b))

二、lambda表达式
作用:一个匿名函数表达式,函数体比def简单得多
比如:

f=lambda a,b,c:a+b+c
print(f(1,2,3))

又比如求n的阶乘:

from functools import reduce
n=5
print(reduce(lambda x,y:x*y,range(1,n+1)))

三、reduce(function,list)
使用这个函数要先从模块中导入
from functools import reduce
作用:将list从头开始取2个元素作出function变化,结果再与第三个元素再做function变换直到头为止

from functools import reduce
def f(x,y):
    return x+y 
a=reduce(f,[1,3,5,7,9])
print(a)

这里写图片描述

一些结构的解释与联系:

这里写图片描述

pd.Series中index是列表索引
pd.Series(index=[‘a’,’b’,’c’,’d’])则
形如:
a x
b x
c x
d x
pd.DataFrame中columns是索引头,
pd.DataFrame(columns=[‘abcd’])
形如:
- a b c d
0 x x x x
1 x x x x
2 x x x x

list数据的类型可以任意可以不同,list存的是地址所以占用内存较大些,np.array相当于数组或者叫矩阵,存放数据的类型需要一致

数据结构类型相互转化图:

这里写图片描述

下面演示如何将散乱的事务型数据转换成0-1购买数据
text.xls
这里写图片描述

输出:
这里写图片描述

示例代码

import pandas as pd 
data=pd.read_excel("text.xls",header=None) 
#去掉头部,因为Excel中无表头,第一行起就是有用数据
change=lambda x:pd.Series(1,index=x[pd.notnull(x)])
#lambda表达式,被下面的map调用了,并将标签取出,将有值的记为1
result=map(change,np.array(data))
#result是将数据经过change变换
final=pd.DataFrame(list(result)).fillna(0)
print(final)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值