Python 如果其他列满足条件,则将操作应用于列
我对Python比较陌生,对Pandas完全陌生,所以如果这真的很简单,我很抱歉。我有一个dataframe,我想对特定列中的所有元素进行操作,但前提是具有相同索引的不同列满足特定条件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
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功能。我确信必须有一种简单的方法来获得我想要的子集,但不知道如何获得。