Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中是否仍然可以访问groupby值_Python_Pandas - Fatal编程技术网

在python中是否仍然可以访问groupby值

在python中是否仍然可以访问groupby值,python,pandas,Python,Pandas,我在一个项目中工作,我能够使用GroupBy7d,现在我想访问groupedby元素 代码如下: group = df.set_index('date').groupby('user').resample('7D', convention='start', label='left') group_result = pd.DataFrame({'Weekly_in_averge_amount': group.mean()['value'], 'Weekly_in_max_amount':

我在一个项目中工作,我能够使用GroupBy7d,现在我想访问groupedby元素 代码如下:

    group = df.set_index('date').groupby('user').resample('7D', convention='start', label='left')
group_result = pd.DataFrame({'Weekly_in_averge_amount': group.mean()['value'], 'Weekly_in_max_amount': group.max()['value']'Weekly_in_min_amount': group.min()['value'], 'Weekly_in_totalamount': group.sum()['value'], 'Weekly_in_degree': group.sum()['inputs'], 'monthdays': group.count()['month']})`
groupUser = group_result.groupby('user').first()
我得到了这个输出

29                   1.512015  ...                1.049153
30                  34.896646  ...               26.350528
37                   0.055000  ...                0.002245
38                   0.835067  ...                0.102253
39                  38.044883  ...                9.317114
40                   1.476168  ...                0.090378
41                   1.000000  ...                0.061224
42                   8.976852  ...                0.183201
43                   0.012000  ...                0.000490
44                   2.377267  ...                0.048516
45                   1.365204  ...              284.463992
例如,用户29有一周的事务,是否可以在用户29中显示分组的值

    user   date                 Weekly_in_averge_amount   count
    29   2011-05-25                 1.512015  ...         34
    29   2011-06-01                 1.123298  ...         23
如我们所见,用户29已按一周对所有行进行分组。如何将行按一周分组

请注意,有34行按第一组分组

对不起,我的解释不清楚 谢谢你的帮助

问候,

Khaled

您可以使用列名称字典和聚合函数,然后将
多索引
转换为列,展平并最后重命名

np.random.seed(123)

rng = pd.date_range('2017-04-03', periods=10)
df = pd.DataFrame({'date': rng, 
                   'value': range(10), 
                   'inputs': range(3,13), 
                   'month': np.random.randint(1,7, size=10), 
                   'user':['a'] * 3 + ['b'] *3 + ['c'] *4})  
print (df)
        date  value  inputs  month user
0 2017-04-03      0       3      6    a
1 2017-04-04      1       4      3    a
2 2017-04-05      2       5      5    a
3 2017-04-06      3       6      3    b
4 2017-04-07      4       7      2    b
5 2017-04-08      5       8      4    b
6 2017-04-09      6       9      3    c
7 2017-04-10      7      10      4    c
8 2017-04-11      8      11      2    c
9 2017-04-12      9      12      2    c



您正在尝试提取每一行吗?还是该行中的项目?请具体说明。我正在尝试提取该行中的项目。谢谢您的帮助,但我运行了上述代码,它没有按预期工作。但是,让我们以下面的例子为例,`用户日期每周平均金额计数29 2011-05-25 1.512015。。。34 29个用户有一个分组的34个事务。如何获取该用户的所有事务
df1  = (df.set_index('date')
          .groupby('user')
          .resample('7D', convention='start', label='left')
          .agg({'value': ['mean','max','min','sum'],
                'inputs':'sum',
                'month':'count'}))
df1.columns = df1.columns.map('_'.join)

d = {'value_max':'Weekly_in_max_amount',
     'value_min':'Weekly_in_min_amount',
     'value_sum':'Weekly_in_totalamount',
     'inputs_sum':'Weekly_in_degree',
     'month_count':'monthdays',
     'value_mean':'Weekly_in_averge_amount'}

df1 = df1.rename(columns=d).reset_index()
print (df1)
  user       date  Weekly_in_averge_amount  Weekly_in_max_amount  \
0    a 2017-04-03                      1.0                     2   
1    b 2017-04-06                      4.0                     5   
2    c 2017-04-09                      7.5                     9   

   Weekly_in_min_amount  Weekly_in_totalamount  Weekly_in_degree  monthdays  
0                     0                      3                12          3  
1                     3                     12                21          3  
2                     6                     30                42          4