学了python也很长时间了,但是总是记不住一些函数的功能,写这个博客的原因也就是想简单的记住这些好用的函数
1.map()函数
map(func,[ seq1, seq2,…])
第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合,把函数作用在序列的每一元素上
例子:>>> map(int, '1234')
[1, 2, 3, 4]
#将小写转成大写
def u_to_l (s):
return s.upper()
print map(u_to_l,'asdfd')
2.lambda()函数
lambda函数也叫匿名函数,及没有具体名称的函数,它允许快速定义单行函数,类似于C语言的宏,可以用在任何需要函数的地方
lambda和map一起用
>>> print map(lambda x , y : x ** y, [2,4,6],[3,2,1])
[8, 16, 6]
例子:test_log['hour'] = test_log.OCC_TIM.map(lambda x:x.hour)
这行代码的意思是取出OCC_TIM中的小时
3.zip()函数
x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
xyz = zip(x, y, z)
u = zip(*xyz)
print u
在运行zip(*xyz)之前,xyz的值是:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
那么,zip(*xyz) 等价于 zip((1, 4, 7), (2, 5, 8), (3, 6, 9))
所以,运行结果是:[(1, 2, 3), (4, 5, 6), (7, 8, 9)]
def parse_time(data):date = datetime.strptime(data, "%Y/%m/%d %H:%M") # strptime() 函数根据指定的格式把一个时间字符串解析为时间元组
hour = date.hour
day = date.day
month = date.month
dow = date.weekday() #周一输出0,周二输出1,。。。
year = date.year
return year, month, day, hour, dow
data['year'], data['month'], data['day'], data['hour'], data['dow'] = zip(*data['datetime'].apply(func=parse_time))