【发布时间】:2022-11-15 08:15:22
【问题描述】:
在 pandas DataFrame.groupby() 对象上有很多关于 agg 和 apply 的问题,但我不明白 DataFrame.agg() 和 DataFrame.apply() 之间的区别。从下面的文档和 sn-p 来看,它们在我看来是一样的。如果存在与不适用于列操作的行操作具体相关的问题,我想了解它们。
import pandas as pd
a = pd.Series([True, False, False])
b = pd.Series([False, False, False])
c = pd.Series([True, True, False])
d = pd.Series([1, 2, 3])
print(pd.DataFrame({'a': a, 'b': b, 'c': c, 'd': d}).agg(lambda x: print(len(x)), axis=1))
print()
print(pd.DataFrame({'a': a, 'b': b, 'c': c, 'd': d}).apply(lambda x: print(len(x)), axis=1))
4
4
4
0 None
1 None
2 None
dtype: object
4
4
4
0 None
1 None
2 None
dtype: object
【问题讨论】:
-
不,那是对 groupby 对象的讨论