回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我在python中有一个<code>dataframe</code>,看起来像这样</p>
<pre><code>dt = pd.DataFrame({"language1": ["english", "english123", "ingles", "ingles123", "14.0", "13", "french"],
"language2": ["englesh", "english123", "ingles", "ingles123", "14", "13", "french"],
"language3": ["englesh", "engl", "ingles", "ingles123", "14", "13", "spanish"]})
</code></pre>
<p>我想做的是在python中复制<strong>R</strong>代码</p>
<pre><code>dt[,language4:=ifelse(!language1%in%c("french"),paste0(language2,"_win"),paste0(language3,"_lose"))]
</code></pre>
<p>我试过了,但没用</p>
<pre><code>dt['language4'] = dt.apply(lambda x: ~x['language1'].isin(['french']), x['language2'] + "_win", x['language3']+"_lose")
</code></pre>
<p>所以我想到了这个</p>
<pre><code>dt.loc[~dt['language1'].isin(["french"]),'language4'] = surv_dt_sd['language2'] + \
"_win"
</code></pre>
<p>但是我不知道如何在一行中实现<code>else</code>位</p>