擅长:python、mysql、java
<p>也许正如@Edchum注释的那样,<code>agg</code>应用了python内置函数,将groupby对象视为一个小数据帧,而当传递一个已定义的函数时,它将其应用于每一列。通过这个例子来说明。在</p>
<pre><code>df.groupby('user_id').agg(print,end='\n\n')
class_type instructor user_id
0 Krav Maga Bob 1
4 Ju-jitsu Alice 1
class_type instructor user_id
1 Yoga Alice 2
5 Krav Maga Alice 2
class_type instructor user_id
2 Ju-jitsu Bob 3
6 Karate Bob 3
df.groupby('user_id').agg(lambda x : print(x,end='\n\n'))
0 Krav Maga
4 Ju-jitsu
Name: class_type, dtype: object
1 Yoga
5 Krav Maga
Name: class_type, dtype: object
2 Ju-jitsu
6 Karate
Name: class_type, dtype: object
3 Krav Maga
Name: class_type, dtype: object
...
</code></pre>
<p>希望这就是为什么应用set会得到上述结果的原因。在</p>