import numpy as np
df = pd.DataFrame({'col1':[1,1,2,2], 'col2':[1,2,3,np.nan]})
# Works fine
df.groupby('col1').transform(sum)['col2']
# Throws error
df.groupby('col1')['col2'].transform(sum)
File "<ipython-input-7-f969e26273d4>", line 8, in <module>
df.groupby('col1')['col2'].transform(sum)
File "/Users/Nick/GitHub/pandas/pandas/core/groupby.py", line 2418, in transform
return self._transform_fast(cyfunc)
File "/Users/Nick/GitHub/pandas/pandas/core/groupby.py", line 2459, in _transform_fast
return self._set_result_index_ordered(Series(values))
File "/Users/Nick/GitHub/pandas/pandas/core/groupby.py", line 497, in _set_result_index_ordered
result.index = self.obj.index
File "/Users/Nick/GitHub/pandas/pandas/core/generic.py", line 2061, in __setattr__
return object.__setattr__(self, name, value)
File "pandas/src/properties.pyx", line 65, in pandas.lib.AxisProperty.__set__ (pandas/lib.c:41404)
obj._set_axis(self.axis, value)
File "/Users/Nick/GitHub/pandas/pandas/core/series.py", line 268, in _set_axis
self._data.set_axis(axis, labels)
File "/Users/Nick/GitHub/pandas/pandas/core/internals.py", line 2211, in set_axis
'new values have %d elements' % (old_len, new_len))
ValueError: Length mismatch: Expected axis has 3 elements, new values have 4 elements