如何根据条件对熊猫数据框中的值进行分组

时间:2019-11-18 11:37:16

标签: python pandas pandas-groupby

我想根据值对列进行分组,并将这些值分配给新类。

Please find the dataset screenshot here

我要根据以下条件对值进行分组:

  • 如果两行或更多行的输入文件名,页码,字体类,字体大小,左相同,则它属于组1。同样,如果输入文件名,页码,字体类,字体大小为对于两行或更多行相同,并且Left中的行值的范围为+ -5至其他(请参见上述数据帧中的行号2,Left值为713,left值上方(行0,1)为708),它是还有第1组。
  • 如果两行或更多行的输入文件名,页码,字体类,字体大小,顶部相同,则它属于组2。同样,如果输入文件名,页码,字体类,字体大小为对于两行或更多行相同,并且Top中的行值的范围为+ -5至其他(请参见第5行,此处Top值是1085,比Top列中的前两个值小4),它也是第2组。

我尝试复制列值并应用与之对应的类,从中我可以解决所有相同的情况。

df.loc[df.duplicated(subset=['Input File Name','Page Number','Font Class','Font Size','Left'], keep=False),'Group'] = 'Group 1'
df.loc[df.duplicated(subset=['Input File Name','Page Number','Font Class','Font Size','Top'], keep=False),'Group'] = 'Group 3'

如果Left / Top值在其他值的+-5范围内,如何分组?

0 个答案:

没有答案