我创建了一个数据框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中的值?
答案 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”。当然,这将单独应用于每一行。