pandas apply 函数函数 实现多进程的示例讲解实现多进程的示例讲解
前言前言: 在进行数据处理的时候,我们经常会用到 pandas 。但是 pandas 本身好像并没有提供多进程的机制。本文将介绍如何
来自己实现 pandas (apply 函数)的多进程执行。其中,我们主要借助 joblib 库,这个库为python 提供了一个非常简洁方便的
多进程实现方法。
所以,本文将按照下面的安排展开,前面可能比较啰嗦,若只是想知道怎么用可直接看第三部分:所以,本文将按照下面的安排展开,前面可能比较啰嗦,若只是想知道怎么用可直接看第三部分:
– 首先简单介绍 pandas 中的分组聚合操作 groupby。
– 然后简单介绍 joblib 的使用方法。
– 最后,通过一个去停用词的实验详细介绍如何实现 pandas 中 apply 函数多进程执行。
注意:本文说的都是多进程而不是多线程。
1. DataFrame.groupby 分组聚合操作分组聚合操作
# groupby 操作
df1 = pd.DataFrame({'a':[1,2,1,2,1,2], 'b':[3,3,3,4,4,4], 'data':[12,13,11,8,10,3]})
df1
按照某列分组按照某列分组
grouped = df1.groupby('b')
# 按照 'b' 这列分组了,name 为 'b' 的 key 值,group 为对应的df_group
for name, group in grouped:
print name, '->'
print group
3 ->
a b data
0 1 3 12
1 2 3 13
2 1 3 11
4 ->
a b data
3 2 4 8
4 1 4 10
5 2 4 3
按照多列分组按照多列分组
grouped = df1.groupby(['a','b'])
# 按照 'b' 这列分组了,name 为 'b' 的 key 值,group 为对应的df_group
for name, group in grouped:
print name, '->'
print group
(1, 3) ->
a b data
0 1 3 12
2 1 3 11
(1, 4) ->
a b data