繁体   English   中英

Python if 语句产生的新列

[英]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.selectSeries.isin用于测试成员资格:

abcd['d'] = np.select([abcd.c == 0, abcd.c.isin(range (0,4))], 
                      [abcd.a + abcd.b, abcd.a], 
                      default=10)
问题未解决?试试搜索: Python if 语句产生的新列
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2023 STACKOOM.COM