该agg
方法可以接受一个字典,在这种情况下,键表示该函数应用到的列:
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)的难以看到的字符。