【问题标题】:Implementation of pandas groupby - indexing and slicingpandas groupby的实现——索引和切片
【发布时间】:2017-03-09 10:07:25
【问题描述】:

看来我不明白 pandas groupby 的工作原理以及如何使用它。有人可以解释我做错了什么或如何解决我的问题吗? 我想根据不同的列提取一些数据。看例子:

    Number Name  Param1    Param2    Param3
0        1    A       0  0.179264  0.565864
1        2    A       1  0.374258  0.985103
2        1    C       2  0.799988  0.855600
3        3    B       3  0.237612  0.290065
4        3    C       4  0.195463  0.232030
5        2    C       5  0.611886  0.712429
6        4    A       6  0.178465  0.056347
7        1    B       7  0.018789  0.393464
8        5    B       8  0.549566  0.457160
9        4    B       9  0.149801  0.590501
10       4    C      10  0.112857  0.327013
11       3    A      11  0.902660  0.670725
12       2    B      12  0.474427  0.104224
13       5    C      13  0.691259  0.620992
14       5    A      14  0.043179  0.028890

然后我想做一个涉及两个循环的操作。基本上,在这个例子中,我想打印引用每个数字的每个名称的参数(作为数组,但这不是问题)[Param1,Param2,Param3]。

因此,期望的结果如下所示: 1号:[[0, 0.179264, 0.565864],[2, 0.799988, 0.855600],[7, 0.018789, 0.393464]] 编号 2:[[1, 0.374258, 0.985103],[5, 0.611886, 0.712429],[12, 0.474427, 0.104224]] 等(然后我想绘制它们并使用“名称”进行标记。

这是代码:

for n in example.groupby('Number'):
    for name in example['Name']:
        params = np.array(example.loc[n['Name']==name,['Param1','Param2','Param3']])
        print 'Group:', n
        print 'Params:\n', params

但似乎我不能将数据框的索引用于 groupby 对象。此代码生成TypeError: tuple indices must be integers, not str。 到目前为止,我通过尝试找出可能存在多个错误,但似乎正确的索引和切片 groupby 对象是主要问题。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    我不确定是否理解得很好,但请尝试loop in groups

    for i, n in df.groupby('Number'):
        print (i)
        print (n[['Param1','Param2','Param3']])
        #for output as nested lists 
        #print (n[['Param1','Param2','Param3']].values.tolist())
    
    1
       Param1    Param2    Param3
    0       0  0.179264  0.565864
    2       2  0.799988  0.855600
    7       7  0.018789  0.393464
    2
        Param1    Param2    Param3
    1        1  0.374258  0.985103
    5        5  0.611886  0.712429
    12      12  0.474427  0.104224
    3
        Param1    Param2    Param3
    3        3  0.237612  0.290065
    4        4  0.195463  0.232030
    11      11  0.902660  0.670725
    4
        Param1    Param2    Param3
    6        6  0.178465  0.056347
    9        9  0.149801  0.590501
    10      10  0.112857  0.327013
    5
        Param1    Param2    Param3
    8        8  0.549566  0.457160
    13      13  0.691259  0.620992
    14      14  0.043179  0.028890
    

    【讨论】:

      猜你喜欢
      • 2018-12-29
      • 2015-08-21
      • 1970-01-01
      • 1970-01-01
      • 2015-03-16
      • 2021-08-25
      • 1970-01-01
      • 2021-07-18
      • 1970-01-01
      相关资源
      最近更新 更多