Pandas 设置值\低于阈值的计数与其他值相同

Pandas 设置值\低于阈值的计数与其他值相同,pandas,Pandas,我想用count设置项目使用with检查是否所有值都被withkeep=False复制: df['result'] = df.item.where(df.item.duplicated(keep=False), 'other') 或通过以下方式与大于1的值一起使用: 或用于: 与和一起使用: 或使用Groupby.size与合并: In [917]: x = df.groupby('item').size().reset_index() In [919]: ans = df.merge(x

我想用count设置项目使用with检查是否所有值都被with
keep=False复制:

df['result'] = df.item.where(df.item.duplicated(keep=False), 'other')
或通过以下方式与大于1的值一起使用:

或用于:


与和一起使用:

使用
Groupby.size
合并

In [917]: x = df.groupby('item').size().reset_index()

In [919]: ans = df.merge(x)
In [921]: ans['result'] = np.where(ans[0].le(1), 'other', ans.item)

In [923]: ans = ans.drop(0, 1)

In [924]: ans
Out[924]: 
  item result
0    a      a
1    a      a
2    a      a
3    b      b
4    b      b
5    c  other
6    d  other
  item result
0    a      a
1    a      a
2    a      a
3    b      b
4    b      b
5    c  other
6    d  other
df['result'] = df.item.where(df.item.duplicated(keep=False), 'other')
df['result'] = df.item.where(df.groupby('item')['item'].transform('size').gt(1), 'other')
df['result'] = df.item.where(df['item'].map(df['item'].value_counts()).gt(1), 'other')
print (df)
  item result
0    a      a
1    a      a
2    a      a
3    b      b
4    b      b
5    c  other
6    d  other
In [926]: import numpy as np

In [927]: df['result'] = np.where(df.groupby('item')['item'].transform('count').le(1), 'other', df.item)

In [928]: df
Out[928]: 
  item result
0    a      a
1    a      a
2    a      a
3    b      b
4    b      b
5    c  other
6    d  other
In [917]: x = df.groupby('item').size().reset_index()

In [919]: ans = df.merge(x)
In [921]: ans['result'] = np.where(ans[0].le(1), 'other', ans.item)

In [923]: ans = ans.drop(0, 1)

In [924]: ans
Out[924]: 
  item result
0    a      a
1    a      a
2    a      a
3    b      b
4    b      b
5    c  other
6    d  other