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,可以試試。

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