zoukankan      html  css  js  c++  java
  • 记录groupby的一次操作

    df = pd.DataFrame({'key1':list('aabba'),
    'key2': ['one','two','one','two','one'],
    'data1': np.random.randn(5),
    'data2': np.random.randn(5)})
    df

     data1data2key1key2
    0 -0.014192 2.236780 a one
    1 -0.028981 0.507988 a two
    2 -1.168170 -0.818003 b one
    3 0.207849 0.755156 b two
    4 -0.457174 -1.407547 a one

    g=df.groupby(["key1"])
    g.head(4)

     data1data2key1key2
    0 -0.014192 2.236780 a one
    1 -0.028981 0.507988 a two
    2 -1.168170 -0.818003 b one
    3 0.207849 0.755156 b two



    g['data1'].head(2)

    0   -0.014192
    1   -0.028981
    2   -1.168170
    3    0.207849
    Name: data1, dtype: float64

    feature_bag = g['data1'].apply(lambda x:set(x)).reset_index()

    feature_bag

    前面的情况比较好了解,groupby返回的是一个groupby对象。它实际上还没有进行任何计算,只是含有一些有分组键的中间数据而已。

    因此输出g的时候,没有变化,抽取其中一列也和直接对df操作并没有什么区别。

    但是做操作:feature_bag = g['data1'].apply(lambda x:set(x)).reset_index()。

    做集合的时候,是以groupby()的key1的键值作为集合的生成判断标准的。

    
    
    
  • 相关阅读:
    Windows下 Mysql忘记密码的修改方法
    java 多文件压缩下载
    MySQL配置文件中jdbc.url
    java实现excle文件上传,解析
    MySQL事务
    重拾MySQL
    Linux中修改MySql配置文件
    Freemarker模板引擎
    过滤器、监听器、拦截器
    XML基础
  • 原文地址:https://www.cnblogs.com/smartwhite/p/9664360.html
Copyright © 2011-2022 走看看