Python - Pandas 過濾器和分組依據

帕特里克·諾沃特尼

我需要最相似的列文件,我有數據:

輸入:

輸入

我需要 cluster-1 在最大計數中等於 cluster-2,一個不會被指定為不包含在集群中的文件

輸出:

輸出

耶斯列

首先Series.mode按原始列比較每個組,過濾器,並在必要時添加未過濾的行,分配bincluster-2

print (df)
  file  cluster-1  cluster-2
0    A          1          2
1    D          1          2
2    G          2          4
3    B          3          1
4    E          3          2
5    J          3          1

m = (df.groupby('cluster-1')['cluster-2']
      .transform(lambda x: x.mode().iat[0])
      .eq(df['cluster-2']))
df = (df[m].append(df[~m].assign(**{'cluster-1':'bin'}), ignore_index=True)
          .rename(columns={'cluster-1':'cluster'})
          .drop('cluster-2', axis=1))
print (df)
  file cluster
0    A       1
1    D       1
2    G       2
3    B       3
4    J       3
5    E     bin

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章