Pandas: при агрегировании с помощью pivot_table или groupby молча удаляются столбцы смешанного типа - PullRequest
2 голосов
/ 13 января 2020

Возможно, это известное / ожидаемое поведение, но я обнаружил следующее неожиданное: при агрегировании с помощью pivot_table или groupby молча отбрасывает столбцы смешанных типов boolean / figureri c, а DataFrame.sum (или np.sum в списке смешанных типов) не:

np.sum и pandas.DataFrame.sum оба возвращают значение, которое я ожидаю от суммирования по логическим и числовым значениям c. Это предполагаемое поведение для groupby / pivot_table?

Пример:

np.sum([0,False])

возвращает 0 и

df = pd.DataFrame({'type':['t1','t1','t2'],'a':[1,23,4], 'b':[0,False,1]})
df.head()

пример изображения таблицы

df.sum()

возвращает:

type    t1t1t2
a           28
b            1
dtype: object

, как и следовало ожидать.

Тем не менее,

pd.pivot_table(df,columns=['type'], aggfunc=np.sum, values=['a','b'])

Появляется для бесшумного отбрасывания столбца b: output изображение таблицы

как и

df.groupby('type').sum()

выходное изображение таблицы

...