私は自分の脳をpandas
データ構造に巻き付けようとしていて、それらを少し怒って使用しようとしています。groupby
操作の結果、パンダシリーズオブジェクトが生成されることがわかりました。しかし、結果のシリーズを使用する方法がよくわかりません。具体的には、次の 2 つのことを行いたいと考えています。
1) 結果を最初の DataFrame に「結合」します。
2) 階層インデックスに基づいて、結果のシリーズから特定の値を選択します。
操作するおもちゃの例を次に示します。
import pandas
df = pandas.DataFrame({'group1': ['a','a','a','b','b','b'],
'group2': ['c','c','d','d','d','e'],
'value1': [1.1,2,3,4,5,6],
'value2': [7.1,8,9,10,11,12]
})
dfGrouped = df.groupby( ["group1", "group2"] , sort=True)
## toy function, obviously not my real function
def fun(x): return mean(x**2)
results = dfGrouped.apply(lambda x: fun(x.value1))
結果のシリーズ(結果)は次のようになります。
group1 group2
a c 2.605
d 9.000
b d 20.500
e 36.000
それは理にかなっている。しかし、どうすればいいですか:
1) これを元の DataFrame に結合しますdf
2) たとえば、group1=='b' & group2=='d' の単一の値を選択します。