如何基于Pandas Python中特定列中的重复值检索行?

时间:2018-11-23 19:32:23

标签: python python-3.x pandas dataframe pandas-groupby

我们说一下我们的数据如下:

 A       B
123     John
456     Mary
102     Allen
456     Nickolan
123     Richie    
167     Daniel

如果要重复,我们希望基于A列获取检索行,然后将其存储在具有该代号的不同数据框中。

[123  John, 123  Richie], These both will be stored in df_123
[456 Mary, 456 Nickolan], These both will be stored in df_456
[102 Allen] will be stored in df_102
[167 Daniel] will be stored in df_167

预先感谢

2 个答案:

答案 0 :(得分:2)

groupby + tuple + dict

不建议创建可变数量的变量。您可以使用字典:

dfs = dict(tuple(df.groupby('A')))

就是这样。要访问A == 123所在的数据帧,请使用dfs[123]等。

请注意,您的数据框现在是不同的对象。您将无法在dfs上执行操作,而不能在没有Python级循环的情况下将其应用于每个数据框值。

答案 1 :(得分:1)

分组,然后使用列表推导,它将基于分组返回数据帧的列表:

Object A