<p>我正在根据其他列是否包含某些字符串值来创建新的布尔列。在</p>
<p>这就是我试过的</p>
<pre><code>def function(data):
data["col1"] = 0
data["col2"] = 0
data["col3"] = 0
for i in range(0,len(data)):
if ("cond1" in data.loc[i,"old_col1"].lower()) or ("cond2" in data.loc[i,"old_col1"].lower()):
data.loc[i,"col1"] = 1
elif ("cond3 " in data.loc[i,"old_col1"].lower()) or ("cond4 " in data.loc[i,"old_col2"].lower()):
data.loc[i,"col2"] = 1
elif ("cond5 " in in data.loc[i,"old_col1"].lower()) or ("cond6 " in data.loc[i,"old_col3"].lower()):
data.loc[i, "col3"] = 1
function(data)
</code></pre>
<p>但它不能很好地扩展到更大的数据集。在</p>
<p>有没有更好的方法来实现Boolean列col1-3,它的执行速度更快?在</p>