Python:将条件列添加到pandas数据帧,更多pythonic解决方案?

Arj*_*run 2 python dataframe pandas

我正在向数据框添加一列,其中通过比较数据框中的其他两列来确定列值.添加列的代码是:

lst = []
for x in range(len(df)):
    if df['ColumnA'][x] > df['ColumnB'][x]:
        lst.append(df['ColumnB'][x])
    else:
        lst.append(df['ColumnA'][x])

df['ColumnC'] = lst
Run Code Online (Sandbox Code Playgroud)

我的问题是,有更高效/ pythonic的方式来做到这一点?过去我被告知如果我每个循环遍历数据帧的每一行都要小心,所以想知道我是否遗漏了一些东西.谢谢!

jpp*_*jpp 6

是的,只需采取最低限度:

df['ColumnC'] = df[['ColumnA', 'ColumnB']].min(1)
Run Code Online (Sandbox Code Playgroud)