Python 如何在一个groupby列上执行聚合选项,提供两列输出

Python 如何在一个groupby列上执行聚合选项,提供两列输出,python,pandas,Python,Pandas,我正在groupby数据帧上执行一系列聚合统计。特别是对于一列,ios\u id,我想要一个计数和一个不同的计数。我不确定如何将其输出到两个名称不同的seapate列。到目前为止,distinct count只会覆盖该计数 如何将ios_id列的distinct count和count同时输出到两个单独的列中 df_new = df.groupby('video_id').agg({"ios_id": np.count_nonzero,

我正在groupby数据帧上执行一系列聚合统计。特别是对于一列,
ios\u id
,我想要一个计数和一个不同的计数。我不确定如何将其输出到两个名称不同的seapate列。到目前为止,distinct count只会覆盖该计数

如何将ios_id列的distinct count和count同时输出到两个单独的列中

df_new = df.groupby('video_id').agg({"ios_id": np.count_nonzero,
                                     "ios_id": pd.Series.nunique,
                                     "feed_position": np.average,
                                     "time_watched": np.sum,
                                     "video_length": np.sum}).sort('ios_id', ascending=False)

这样的办法应该行得通。注意iOS_id的嵌套字典结构

df_new = df.groupby('video_id').agg({"ios_id": {"count": "count",
                                                "distinct": "unique"},
                                     "feed_position": np.average,
                                     "time_watched": np.sum,
                                     "video_length": np.sum})

有关更多详细信息,请参阅:

ios\u id
是对要对其执行统计的列的引用。如果我改了名字,那就没什么可参考的了。