Python 如果其他列满足条件,则将操作应用于列

Python 如果其他列满足条件,则将操作应用于列,python,pandas,Python,Pandas,我对Python比较陌生,对Pandas完全陌生,所以如果这真的很简单,我很抱歉。我有一个dataframe,我想对特定列中的所有元素进行操作,但前提是具有相同索引的不同列满足特定条件 float_col int_col str_col 0 0.1 1 a 1 0.2 2 b 2 0.2 6 None 3 10.1 8 c 4

我对Python比较陌生,对Pandas完全陌生,所以如果这真的很简单,我很抱歉。我有一个dataframe,我想对特定列中的所有元素进行操作,但前提是具有相同索引的不同列满足特定条件

   float_col  int_col str_col
0        0.1        1       a
1        0.2        2       b
2        0.2        6    None
3       10.1        8       c
4        NaN       -1       a

例如,如果float_col中的值大于5,我想将in_col(在同一行中)中的值乘以2。我猜我应该使用一个
map
apply
applymap
函数,但我不确定使用哪一个或如何使用

可能有更优雅的方法可以做到这一点,但一旦您了解如何使用
loc
等方法获取数据集的特定子集,您就可以这样做:

df.loc[df['float_col'] > 5, 'int_col'] = df.loc[df['float_col'] > 5, 'int_col'] * 2
您也可以这样做,因为
pandas
足够聪明,可以根据数据帧的索引匹配结果,并且只使用
df['int\u col']*2
表达式中的相关数据:

df.loc[df['float_col'] > 5, 'int_col'] = df['int_col'] * 2

非常感谢。我不熟悉loc功能。我确信必须有一种简单的方法来获得我想要的子集,但不知道如何获得。