数据框聚合方法传递列表问题

时间:2019-02-26 19:06:08

标签: pandas

这可能是一个错误,但是您对这个熊猫功能有何看法?

df = pd.DataFrame(np.arange(20).reshape(10,-1), columns=[*'AB'])

def f(x):
    print(type(x))

df.agg(f)

输出:

<class 'pandas.core.series.Series'>
<class 'pandas.core.series.Series'>
A    None
B    None
dtype: object

但是,如果我将函数调用包装在agg方法中,并将单个函数作为列表传递给括号。

df = pd.DataFrame(np.arange(20).reshape(10,-1), columns=[*'AB'])

def f(x):
    print(type(x))


df.agg([f])

输出:

<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
<class 'int'>
      A     B
      f     f
0  None  None
1  None  None
2  None  None
3  None  None
4  None  None
5  None  None
6  None  None
7  None  None
8  None  None
9  None  None

所有更改都是将自定义函数作为单个值列表传递。

0 个答案:

没有答案