pandas的apply函数使用

这个函数很有用,隔一段时间不用就老忘记,在这里举例总结一下。

apply函数可以对DataFrame对象进行操作,既可以作用于一行或一列的元素。

使用例子

1、常常作用于列元素

问题一:sales是一个Dataframe表格,它有一列叫distance(每一个值为"1.5km"、“5.0km"这种长相)。请把每一个值变成"1.5”、"5.0"这种长相。

def fun(x):
	return str(x).split('k')[0]
	
sales['distance']= sales['distance'].apply(fun)

问题二:sales有一个列叫date(string类型)。把date的类型从string转换成datetime。
这个我们就可以用apply函数。

from datetime import datetime

def f(x):
	dt= datetime.strptime(x,'%Y.%m.%d')#字符串'2018.10.01' must match format '%Y.%m.%d'  写成'%Y/%m/%d'将是不匹配的,出错
	return dt
	
sales.date= sales.date.apply(f)

其中datetime的strptime():实现将字符串转换成指定格式的datetime。

可以看到,我们可以用apply函数给date列的每一个值进行操作。对每一个值的操作是转换类型trans实现的,我们只需把trans函数名作为参数传入apply()即可。

2、apply也可以应用于行元素

给apply()加上参数axis=1,可以试试。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章