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

2024-05-16 18:01:55 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我们有如下数据:

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

我们希望根据列A获取检索行,如果重复,则使用该代码名存储在不同的数据帧中。在

^{pr2}$

提前谢谢


Tags: 数据代码johndanielmaryrichieallenpr2
2条回答

分组,然后使用list comprehension,它将基于组返回一个数据帧列表:

group = df.groupby('A')
dfs = [group.get_group(x) for x in group.groups]

[     A       B
 2  112   Allen
 5  112  Daniel,      A       B
 0  123    John
 4  123  Richie,      A         B
 1  456      Mary
 3  456  Nickolan]

^{}+^{}+^{}

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

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

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

注意,数据帧现在是不同的对象。不能再对dfs执行操作,也不能在没有Python级循环的情况下将其应用于每个dataframe值。在

相关问题 更多 >