我试图将我的大脑包裹在pandas
数据结构上,并试图在愤怒中使用它们。我发现groupby
操作会产生一个熊猫系列对象。但我不太清楚如何使用生成的系列。特别是,我想做两件事:
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) 将其加入到原始 DataFramedf
2) 选择一个值,例如 group1=='b' & group2=='d'