pandas 添加列,注意 Series 的真值不明确

我想在数据框 a 中添加一列,


a = pd.DataFrame([[1,2],[3,4]],columns=['A','B'])

if a['B'] > a['A']:

    a['C']='是'

else:

    a['C']='否'

ValueError:系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。


呼如林
浏览 137回答 3
3回答

慕田峪4524236

使用numpy.where:#swapped 2,1a = pd.DataFrame([[2,1],[3,4]],columns=['A','B'])a['C'] = np.where(a['B']>a['A'], '是','否')print (a)   A  B  C0  2  1  否1  3  4  是您的代码问题是如果使用:print (a['B']>a['A'])0    False1     Truedtype: bool它返回布尔掩码并且if无法决定要做什么。

MYYA

还有一个选项是np.choose()其中实施np.choose('是','否')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python