2016-10-19 4 views
3

は、私は、次の2つの製剤は同等であることが予想dfパンダは

df = pd.DataFrame(dict(A=['a', 'a'], B=[0, 1])) 

を検討一見同等の表現で異なる動作を変換GROUPBY。

製剤1

df.groupby('A').transform(np.mean) 

enter image description here

製剤2

df.groupby('A').transform(lambda x: np.mean(x)) 

enter image description here

配合の結果は間違っています。しかし、私が泣くことになる前に、のバグ誰かが合理的な説明をしているかもしれません。

答えて

3

それは私にはバグのようになります。

In [19]: df.groupby('A').transform(lambda x: x.sum()) 
Out[19]: 
    B 
0 1 
1 1 

In [20]: df.groupby('A').transform(lambda x: len(x)) 
Out[20]: 
    B 
0 2 
1 2 

In [21]: df.groupby('A').transform(lambda x: x.sum()/len(x)) 
Out[21]: 
    B 
0 0 
1 0 

PSパンダバージョン:0.19.0

+0

あなたは0.19を使用していますか? – piRSquared

+0

@piRSquared、yes – MaxU

+2

私は0.19と0.18.1で同じ結果を試しました – piRSquared