我需要用一些组替换DataFrame中列中的值

时间:2017-12-15 13:07:21

标签: python pandas dataframe

问题制定

目前,df['B']的值介于0到16之间。我希望将它们替换为如下:

  S where df['B'] <= 2
  M where 2 < df['B'] <= 6
  L where df['B'] >= 6

数据帧

A       B
5180    2
5784    0
5784    16
7269    4
7268    12

所需的输出

A       B
5180    S
5784    S
5784    L
7269    M
7268    L

是否有熊猫功能吗?

1 个答案:

答案 0 :(得分:0)

我认为您的数据框的名称为df

df['B'] = pd.cut(df['B'], bins = [0, 3, 7, 17], labels=["S", "M", "L"])

切入垃圾箱意味着:

for range [0,3) we use label[0] ('S')  

for range [3,7) we use label[1] ('M')

for range [7,17) we use label[2] ('L')