【问题标题】:How to get values from a "cell" of a "groupby" object?如何从“groupby”对象的“单元格”中获取值?
【发布时间】:2013-02-06 18:24:01
【问题描述】:

假设我有以下数据框:

     A    B  C   D
0  foo  one  1  10
1  bar  one  2  20
2  foo  two  3  30
3  bar  one  4  40
4  foo  two  5  50
5  bar  two  6  60
6  foo  one  7  70
7  foo  two  8  80

现在我可以按第一列分组:grouped = df.groupby('A')。结果我得到了以下DataFrameGroupBy 对象:

     A            B                 C              D
0  foo  [one,two,two,one,two]  [1,3,5,7,8]  [10,30,50,70,80]
1  bar  [one,one,two]          [2,4,6]      [20,40,60]

现在我想访问特定单元格中的值。我该怎么做?例如,我想从“D”列和'A'=='foo'(第一行)所在的行获取值。换句话说,我想得到[10,30,50,70,80]。有可能吗?

【问题讨论】:

    标签: python group-by pandas


    【解决方案1】:

    你有这样的想法吗?

    >>> df
         A    B  C   D
    0  foo  one  1  10
    1  bar  one  2  20
    2  foo  two  3  30
    3  bar  one  4  40
    4  foo  two  5  50
    5  bar  two  6  60
    6  foo  one  7  70
    7  foo  two  8  80
    >>> df.groupby("A").get_group("foo")["D"]
    0    10
    2    30
    4    50
    6    70
    7    80
    Name: D
    >>> df.groupby("A").get_group("foo")["D"].tolist()
    [10, 30, 50, 70, 80]
    

    【讨论】:

      【解决方案2】:

      这句话是可能的:

      >>> df.groupby("A").get_group("foo")["D"]
      0    10
      2    30
      4    50
      6    70
      7    80
      Name: D
      

      【讨论】:

        猜你喜欢
        • 2021-11-04
        • 1970-01-01
        • 2021-06-21
        • 2020-11-01
        • 1970-01-01
        • 2011-06-07
        • 1970-01-01
        • 2021-06-28
        • 1970-01-01
        相关资源
        最近更新 更多