功能在熊猫中不会减少

时间:2019-02-23 22:25:32

标签: python pandas function dataframe aggregate

我对Pandas汇总有问题。

我有4列为“ int”类型的列,其中一列为字符串。 我希望将那些具有int的对象求和,将那个具有字符串的对象求和。

我使用了下一个功能:

df = df.groupby(['Time', 'Id', 'Object', 'Alias', 'Type'],as_index=False).agg(lambda x : x.sum() if x.dtype=='int' else x.unique())

但是我遇到下一个错误:

ValueError: Function does not reduce

我发现了一些类似的问题,但是每个问题在聚合函数中只有一个操作。不知道如何使用我的建议。

1 个答案:

答案 0 :(得分:0)

unique不是聚合函数。汇总功能可减少数据的维度,例如sum将数字列表缩减为单个数字,而unique将数字列表缩减为可能较小的列表。

my_series = pd.Series([1, 2, 1, 3])  # 1-D
my_series.sum()  # 7, a scalar
my_series.unique()  # [1, 2, 3] still 1-D