[英]Python new columns resulting from if statement
提示:本站为国内最大中英文翻译问答网站,提供中英文对照查看,鼠标放在中文字句上可显示英文原文。
结果:ValueError:Series 的真值不明确。 使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
我有一个 dataframe
abcd = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 0]]),columns=['a', 'b', 'c'])
我想在此数据框中创建一个新列“d”,其中:如果列 c = 0,则其值为列 a + 列 b,如果列 c 在 1 和 3 之间,则其值为列 a,否则为列值为 10
我的代码:
if (abcd.c == 0):
abcd.d = abcd.a + abcd.b
elif abcd.c in range (0,4):
abcd.d = abcd.a
else:
abcd.d = 10
结果:ValueError:Series 的真值不明确。 使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
将numpy.select
与Series.isin
用于测试成员资格:
abcd['d'] = np.select([abcd.c == 0, abcd.c.isin(range (0,4))],
[abcd.a + abcd.b, abcd.a],
default=10)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.