Python:如何对数据帧的列进行乘法选择(不使用for循环)

Python:如何对数据帧的列进行乘法选择(不使用for循环),python,pandas,dataframe,multiplication,Python,Pandas,Dataframe,Multiplication,我正在使用pandas数据帧,并希望将特定列的选择相乘。我想选择小于5的col2的所有值,并将它们乘以10。我如何做到这一点(不使用 用于循环) 我尝试了以下代码,但这并没有产生我想要的数据帧: df['col2'] = df.col2[df['col2']<5]*10 col1 col2 0 2 10.0 1 3 20.0 2 5 NaN 3 7 40.0 有人知道怎么做吗?我用Lambda expression做到

我正在使用pandas数据帧,并希望将特定列的选择相乘。我想选择小于5的
col2
的所有值,并将它们乘以10。我如何做到这一点(不使用
用于循环)

我尝试了以下代码,但这并没有产生我想要的数据帧:

df['col2'] = df.col2[df['col2']<5]*10
    col1   col2
0   2      10.0 
1   3      20.0
2   5      NaN
3   7      40.0

有人知道怎么做吗?

我用Lambda expression做到了这一点:

df["col2"] = df["col2"].apply(lambda x:x*10 if x < 5 else x)
df[“col2”]=df[“col2”]。应用(λx:x*10,如果x<5,则为x)

我假设大于10的数字保持不变

如果值不小于5会发生什么?使用
np.where
-
np.where(df['col2'].le(5),df['col2']*10,df['col2'])
count=0
for value in df.col2:
    if value < 5:
        df.col2[count]=df.col2[count]*10
        count+=1   
df["col2"] = df["col2"].apply(lambda x:x*10 if x < 5 else x)