数据框:根据另一列中的相应行修改整列

时间:2019-11-14 20:38:47

标签: pandas dataframe

我创建了一个数据框my_df

>>> my_df = pd.DataFrame.from_dict({'col_1': [10, 20, 30, 40, 50], 'col_2': [100, 2, 300, 4, 500], 'unused_col': [1, 1, 1, 1, 900]})
>>> my_df
   col_1  col_2  unused_col
0     10    100           1
1     20      2           1
2     30    300           1
3     40      4           1
4     50    500         900

如果col_2中的值大于col_1中的值,我想将col_1中的值设置为col_2中的值。否则,保持原样。因此,所需的输出是:

   col_1  col_2  unused_col
0    100    100           1
1     20      2           1
2    300    300           1
3     40      4           1
4    500    500         900

如何完成此操作,而无需修改unused_col中的值?

1 个答案:

答案 0 :(得分:0)

您也可以使用np.where()

import numpy as np    
df['col_1'] = np.where(df['col_2'] > df['col_1'], df['col_2'],df['col_1'])

其内容为:“ col_1等于:如果col_2的行大于col_1的行,则返回col_2,否则返回col_1”。当然,这将单独应用于每一行。