在一个列中找到重复的行,并使用python pandas将重复的行作为一个组打印到一个新的数据框架表中



我的目标是获得列A的重复组,并将它们打印/提取到一个新的数据框中,最终将每个新数据框打印成csv。

my current dataframe:

tbody> <<tr>BBBCCDDD
列A 列B
2
2
3
2
3
4
2
2
2
2
3

可以遍历列A的唯一值,也可以显示列A特定值的数据

代码:

[df[df['ColA']==i] for i in set(df.ColA.values)]

输出;

[  ColA  ColB
0    A     2
1    A     2
2    A     3,
ColA  ColB
6    C     2
7    C     2,
ColA  ColB
3    B     2
4    B     3
5    B     4,
ColA  ColB
8     D     2
9     D     2
10    D     3]

g = df.groupby('column A')
dup_chk = df.loc[df['column A'].eq('A'), 'column B']
out = [g.get_group(x)[lambda x: x['column B'].isin(dup_chk)] for x in g.groups]

out(list of dataframe)

[  column A  column B
0        A         2
1        A         2
2        A         3,
column A  column B
3        B         2
4        B         3,
column A  column B
6        C         2
7        C         2,
column A  column B
8         D         2
9         D         2
10        D         3]

使用groupby函数对一行中的每个重复元素进行分组使用for循环遍历每个组

grouped_df = df.groupby('column A')
for group in grouped_df:
print(group)

最新更新