Apply函数vs Multiprocessing.map

%time df.some_col.apply(lambda x : clean_transform_kthx(x))
Wall time: HAH! RIP BUDDY
# WHY YOU NO RUN IN PARALLEL!?

plyr是一套处理一组问题的工具：需要把一个大的数据结构分解成一些均匀的数据块，之后对每一数据块应用一个函数，最后将所有结果组合在一起。”

my_df.apply(lambda x: nearest_street(x.lat,x.lon),axis=1)

dd.from_pandas(my_df,npartitions=nCores).\
map_partitions(\
lambda df : df.apply(\
lambda x : nearest_street(x.lat,x.lon),axis=1)).\
compute(get=get)
# imports at the end

from dask import dataframe as dd
from multiprocessing import cpu_count
nCores = cpu_count()

for i in intersections:
l3 = np.sqrt( (i[0] - [1])**2 + (i[2] - i[3])**2 )
# ... Some more of these
dist = l1 + l2
if dist < (l3 * 1.2):
matches.append(dist)
# ... More stuff
### you get the idea, there's a for-loop checking to see if
### my points are close to my streets and then returning
closest
### I even used numpy, that means fast right?

# over one array
for cell in array:
cell * CONSTANT - CONSTANT2
# over two arrays
for i in range(len(array)):
array[i] = array[i] + array2[i]

# over one array
(array * CONSTANT) - CONSTANT2
# over two arrays of same length
array = array - array2

from numba import jit
@jit # numba magic
def some_func()
l3_arr = np.sqrt( (intersections[:,0] -
intersections[:,1])**2 +\
(intersections[:,2] -
intersections[:,3])**2 )
# now l3 is an array containing all of my block lengths
# likewise, l1 and l2 are now equal sized arrays
# containing distance of point to all intersections
dist = l1_arr + l2_arr
match_arr = dist < (l3_arr * 1.2)
# so instead of iterating, I just immediately compare all
of my
# point-to-street distances at once and have a handy
# boolean index

Ernest Kim，旧金山大学硕士生，专注于机器学习、数据科学。

|
1月前
|

python数据分析——数据预处理

57 0
|
Python
python使用pip镜像源加速安装包（清华、阿里、中科大）
python使用pip镜像源加速安装包（清华、阿里、中科大）
5320 0
|
2月前
|

Python中的机器学习入门：从数据预处理到模型评估
Python中的机器学习入门：从数据预处理到模型评估
191 35
|
3月前
|

27 2
|
3月前
|
XML JSON 数据格式
Python Pandas PK esProc SPL，谁才是数据预处理王者？
Python Pandas PK esProc SPL，谁才是数据预处理王者？
64 0
|
8月前
|

[Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念]（三）
[Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念]（三）
402 0
|
8月前
|

[Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念]（二）
[Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念]（二）
119 0
|
8月前
|

[Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念]（一）
[Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念]
105 0
|
8月前
|

176 0
|
11月前
|

123 0