Возможно, это известное / ожидаемое поведение, но я обнаружил следующее неожиданное: при агрегировании с помощью 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()
выходное изображение таблицы