Ответ 1
Метод agg
может принимать dict, в этом случае ключи указывают столбец, к которому применяется функция:
grouped.agg({'numberA':'sum', 'numberB':'min'})
Например,
import numpy as np
import pandas as pd
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar',
'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three',
'two', 'two', 'one', 'three'],
'number A': np.arange(8),
'number B': np.arange(8) * 2})
grouped = df.groupby('A')
print(grouped.agg({
'number A': 'sum',
'number B': 'min'}))
дает
number B number A
A
bar 2 9
foo 0 19
Это также показывает, что Pandas может обрабатывать пробелы в именах столбцов. Я не уверен, что происходило с проблемой, но буквальные пространства не должны были создавать проблемы. Если вы хотите изучить это далее,
print(df.columns)
без переназначения имен столбцов, покажет нам repr
имен. Возможно, в названии столбца был труднодоступный символ, который выглядел как пробел (или какой-то другой символ), но на самом деле был u'\xa0'
(NO-BREAK SPACE), например.