2015-07-21 76 views
6

这是一个简单的问题,我只是一直无法找到一个明确的答案:在熊猫系列给定的条件替换值

我有一个系列的对象:

random = pd.Series(np.random.randint(10, 10))) 

我想更换所有的值都大于1,我该怎么做?我试过 Random.replace()没有成功,我知道你可以在DataFrame中轻松做到这一点,但是如何在Series对象中执行此操作?

回答

9

为什么不尝试设置s[s > 1] = 0

import pandas as pd 
import numpy as np 

# your data 
# ============================ 
np.random.seed(0) 
s = pd.Series(np.random.randn(10)) 
s 

0 1.7641 
1 0.4002 
2 0.9787 
3 2.2409 
4 1.8676 
5 -0.9773 
6 0.9501 
7 -0.1514 
8 -0.1032 
9 0.4106 
dtype: float64 


# ============================ 
s[s>1] = 0 
s 

0 0.0000 
1 0.4002 
2 0.9787 
3 0.0000 
4 0.0000 
5 -0.9773 
6 0.9501 
7 -0.1514 
8 -0.1032 
9 0.4106 
dtype: float64 
+0

咄!谢谢。 – AZhao