【问题标题】:Can I retrieve all the results from a groupby?我可以从 groupby 中检索所有结果吗?
【发布时间】:2017-02-11 12:35:28
【问题描述】:

假设我将我的数据分组

df.groupby(['a','b','c'])

有没有办法为a 中的每个组提供get_group,以及bc 的特定值?

【问题讨论】:

    标签: pandas


    【解决方案1】:
    [name for name,group in df.groupby(['a', 'b', 'c'])]
    

    【讨论】:

      【解决方案2】:

      您认为在自定义函数中选择列ab

      df = pd.DataFrame({'a':[1,2,3],
                         'b':[4,5,6],
                         'c':[7,8,9],
                         'D':[1,3,5],
                         'E':[5,3,6]})
      
      print (df)
         D  E  a  b  c
      0  1  5  1  4  7
      1  3  3  2  5  8
      2  5  6  3  6  9
      
      
      def f(x):
      #    print (x)
          print (x[['a','b']])
          return x[['a','b']]
      
      print (df.groupby(['a','b','c']).apply(f))
      
         a  b
      0  1  4
         a  b
      0  1  4
         a  b
      1  2  5
         a  b
      2  3  6
         a  b
      
      
         a  b
      0  1  4
      1  2  5
      2  3  6
      

      或者你可能需要filter:

      print (df.groupby(['a','b','c']).filter(lambda x: (x.b == 4) & (x.c == 7)))
         D  E  a  b  c
      0  1  5  1  4  7
      

      【讨论】:

      • 我不确定我是否理解你的问题。你能解释更多吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-31
      • 2020-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多