9

次のデータ フレームがあるとします。

     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]。出来ますか?

4

2 に答える 2

12

こんなことを考えていませんか?

>>> 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]
于 2013-02-21T12:26:33.307 に答える