【发布时间】:2021-07-03 15:44:31
【问题描述】:
train["gender"] = train.apply(lambda x: 1 if x["gender"] == "F" else 0, axis=1)
train["car"] = train.apply(lambda x: 1 if x["car"] == "Y" else 0, axis=1)
train["reality"] = train.apply(lambda x: 1 if x["reality"] == "Y" else 0, axis=1)
这3个代码即使是简单的更改也需要很多时间。
我想,访问每一行 3 次会导致效率低下。
所以,如果我可以 1 访问行并应用函数更改 3 数据,它可以比现在快 2~3 倍。
喜欢.....
# it is my imaginary code. not works
train[["gender","car", "reality"]] = train.apply(lambda x: 1 if x["gender"] == "F" else 0, axis=1,
lambda y: 1 if y["car"] == "Y" else 0, axis=1,
lambda z: 1 if z["reality"] == "Y" else 0, axis=1)
如何优化这些代码?
============================ tdy的测试结果
【问题讨论】: