评价:apply
是 pandas
库的一个很重要的函数,多和 groupby
函数一起用,也可以直接用于 DataFrame
和 Series
对象。主要用于数据聚合运算,可以很方便的对分组进行现有的运算和自定义的运算。
源码(可作用于一行或一列的元素)
df.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds)
实际切割的例子:
df.head() >>> time data 0 1473411962 Symbol: APPL Seqno: 0 Price: 1623 1 1473411962 Symbol: APPL Seqno: 0 Price: 1623 2 1473411963 Symbol: APPL Seqno: 0 Price: 1623 3 1473411963 Symbol: APPL Seqno: 0 Price: 1623 4 1473411963 Symbol: APPL Seqno: 1 Price: 1649
1 def foo(line): 2 items = line.strip().split(" ") 3 return pd.Series([items[1],items[3],items[5]])
1 df_tmp = df["data"].apply(foo) 2 3 df_tmp = df_tmp.rename(columns={0:"Symbol",1:"Seqno",2:"Price"})
df_tmp.head()
>>> Price Seqno Symbol 0 1623.0 0.0 APPL 1 1623.0 0.0 APPL 2 1623.0 0.0 APPL 3 1623.0 0.0 APPL 4 1649.0 1.0 APPL