我如何根据两列对 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]
我有这样一个 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]