【发布时间】:2022-01-12 07:57:16
【问题描述】:
【问题讨论】:
-
我无法理解您尝试执行的功能。你能详细说明一下吗?
标签: python pandas dataframe filter
【问题讨论】:
标签: python pandas dataframe filter
首先按原始列比较每个组的Series.mode,过滤并在必要时添加未过滤的行,并将bin分配给cluster-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
【讨论】: