我如何根据两列对 pandas 数据框进行分组?

How can i group pandas dataframe based on two colunms?

我有这样一个 pandas 数据框对象:

我想根据用户和 alt_user 列分组创建多个数据框。 基本上,每个新创建的数据框都应该具有用户和 alt_user.

的唯一组合

输出:

到目前为止我已经使用了dataframe1.groupby(['user', 'alt_user']) 但这不会创建多个数据帧。

dataframe1.groupby(['user', 'alt_user']) 不是为了创建多个数据框而设计的,事实上它甚至不会在没有聚合的情况下创建一个。 为了做你想做的,你需要从所有唯一对的列表开始,可以通过以下方式获得:

unique_pairs = set(zip(df.User, df.Alt_user))

那么数据帧列表将是

dataframes = [dataframe1.loc[np.logical_and(dataframe1.User==user, dataframe1.Alt_user==alt_user), :] for user, alt_user in unique_pairs]