首页 > 解决方案 > 如果满足条件,熊猫将值从一列复制到另一列

问题描述

我有一个数据框:

df = 
col1  col2  col3 
1      2     3
1      4     6
3      7     2

我想编辑df,这样当 col1 的值小于 2 时,取值来自col3.

所以我会得到:

new_df = 
col1  col2  col3 
3      2     3
6      4     6
3      7     2

我尝试使用assigndf.loc但没有奏效。

最好的方法是什么?

标签: pythonpandasdata-sciencedata-munging

解决方案


df['col1'] = df.apply(lambda x: x['col3'] if x['col1'] < x['col2'] else x['col1'], axis=1)

推荐阅读