Python 强制括号内系列的值替换过高或过低的值
我正在寻找一种更有效的方法来限制 系列的值 在下面的示例中,每个小于5的值都是 替换为5,每个更高的值替换为25Python 强制括号内系列的值替换过高或过低的值,python,pandas,numpy,Python,Pandas,Numpy,我正在寻找一种更有效的方法来限制 系列的值 在下面的示例中,每个小于5的值都是 替换为5,每个更高的值替换为25 import pandas as pd df = pd.DataFrame({'value': list(range(30))}) df['value'].apply(lambda x: 5 if x < 5 else 25 if x > 25 else x) 是否有内置的pandas或numpy也可以这样做?使用或: 使用或: 与- 与- 我找到了内置的 熊猫有一个夹
import pandas as pd
df = pd.DataFrame({'value': list(range(30))})
df['value'].apply(lambda x: 5 if x < 5 else 25 if x > 25 else x)
是否有内置的pandas或numpy也可以这样做?使用或:
使用或:
与-
与-
我找到了内置的
熊猫有一个夹子,夹子在下面,夹子在上面
import pandas as pd
df = pd.DataFrame({'value': list(range(30))})
df['value'].clip(lower=5, upper=25)
我找到了内置的
熊猫有一个夹子,夹子在下面,夹子在上面
import pandas as pd
df = pd.DataFrame({'value': list(range(30))})
df['value'].clip(lower=5, upper=25)
np.clip(df.value.values,a_min=5,a_max=25) # use df.value for series output
import pandas as pd
df = pd.DataFrame({'value': list(range(30))})
df['value'].clip(lower=5, upper=25)