pandas的花式操作

1.groupby & agg & collect_set 实现列转行的聚合

#1.groupby返回的是一个迭代器(key, keyvalue),需要For循环提取;
#2.agg中每次传入的是一个key的所有keyvalue数据(若前面groupby步骤未对data进行字段筛选,即为data中所有数据)
#3.使用collect_set时,groupby的key只能是一个字段;
import pandas as pd
data = pd.DataFrame([['one','a'], ['one', 'b'], ['two', 'c'], ['two', 'd']], columns=['key', 'value'])
 def collect_set(group):
    return set(group.value)
print(data.groupby('key').agg(collect_set))
"""
      value
key        
one  {a, b}
two  {c, d}
"""

 

posted @ 2019-11-25 15:30  雨婷墨染  阅读(493)  评论(0编辑  收藏  举报