将上限和下限放在DataFrame列中的值上

时间:2015-06-01 16:36:49

标签: python pandas dataframe

我有以下专栏:

 Column 1
 1
 10
 5
 100
 50
 1000
 50000
 2000
 100
 1000
 3000
 ...

我想为Col1中的每一行指定一个值> = 1000,Col 2中的值为1000,每个值< = 100,就是100。

 Column 1   Column 2
 1          100
 10         100
 5          100
 100        100
 50         100
 1000       1000
 50000      1000
 2000       1000
 100        100
 1000       1000
 3000       1000
 ...

我该怎么做?

1 个答案:

答案 0 :(得分:3)

您可以使用clip

>>> df['Column 2'] = df['Column 1'].clip(100, 1000)
>>> df
    Column 1  Column 2
0          1       100
1         10       100
2          5       100
3        100       100
4         50       100
5       1000      1000
6      50000      1000
7       2000      1000
8        100       100
9       1000      1000
10      3000      1000

所有低于100的值都设置为100;所有大于1000的值都设置为1000。