【发布时间】:2019-04-12 17:56:33
【问题描述】:
例如,我有一个数据框:
cond value1 value2
0 True 1 1
1 False 3 5
2 True 34 2
3 True 23 23
4 False 4 2
我希望在cond=True 时将value1 替换为value2*2。所以我想要的结果是:
cond value1 value2
0 True 2 1
1 False 3 5
2 True 4 2
3 True 46 23
4 False 4 2
我可以通过以下代码实现:
def convert(x):
if x.cond:
x.value1= x.value2*2
return x
data = data.apply(lambda x: convert(x),axis=1)
我认为当数据很大时它会很慢。我通过.loc试了一下,但是不知道怎么设置值。
如何通过.loc或者其他简单的方式实现呢?提前致谢。
【问题讨论】:
标签: python pandas python-3.6