Python 类型错误:'&燃气轮机=';在';str';和';int';在为列添加标签时
我正在尝试比较列中的值,并将它们替换为Up/Down。 基本上,标记数据帧 这是我正在使用的代码Python 类型错误:'&燃气轮机=';在';str';和';int';在为列添加标签时,python,pandas,typeerror,stock,labeling,Python,Pandas,Typeerror,Stock,Labeling,我正在尝试比较列中的值,并将它们替换为Up/Down。 基本上,标记数据帧 这是我正在使用的代码 dataset['UpDown'] = dataset['Return_Out'] dataset.UpDown[dataset.UpDown < 0] = 'Down' dataset.UpDown[dataset.UpDown >= 0] = 'Up' 第一行工作正常,因为在这一点上,dataset.UpDown很可能类似于int(特别是,如果我不得不猜测的话,可能是int64
dataset['UpDown'] = dataset['Return_Out']
dataset.UpDown[dataset.UpDown < 0] = 'Down'
dataset.UpDown[dataset.UpDown >= 0] = 'Up'
第一行工作正常,因为在这一点上,
dataset.UpDown
很可能类似于int
(特别是,如果我不得不猜测的话,可能是int64
dtype)。因此,与0
的比较很好。但是这条线
dataset.UpDown[dataset.UpDown < 0] = 'Down'
第一行工作正常,因为此时,
dataset.UpDown
很可能类似于int
(特别是,如果我不得不猜测的话,可能是int64
dtype)。因此,与0
的比较很好。但是这条线
dataset.UpDown[dataset.UpDown < 0] = 'Down'
补充。非常感谢您及时回复@AkshayNevrekar,这是标记数据集的新功能。不知道为什么它在部分贴标签后会反弹/不会
dataset.UpDown[dataset.UpDown<0]='Down'
这样dataset.UpDown
就变成了'Down'
?也就是说,您正在用字符串替换dataset.UpDown
。(不知道熊猫内在魔法是如何工作的)最好在这里使用np.where
<代码>np.where(数据集['UpDown']<0,'Down','Up')。如果它给出相同的错误,那么我认为dataset.UpDown
包含str
@AkshayNevrekar,np.where(dataset.UpDown[dataset.UpDown]>=0,'Up','Down'),它不会抛出错误,也不会用'Down'或'Up'替换它。它只是转到下一个语句。已添加。非常感谢您及时回复@AkshayNevrekar,这是标记数据集的新功能。不知道为什么它在部分贴标签后会反弹/不会dataset.UpDown[dataset.UpDown<0]='Down'
这样dataset.UpDown
就变成了'Down'
?也就是说,您正在用字符串替换dataset.UpDown
。(不知道熊猫内在魔法是如何工作的)最好在这里使用np.where
<代码>np.where(数据集['UpDown']<0,'Down','Up')。如果它给出相同的错误,那么我认为dataset.UpDown
包含str
@AkshayNevrekar,np.where(dataset.UpDown[dataset.UpDown]>=0,'Up','Down'),它不会抛出错误,也不会用'Down'或'Up'替换它。它只是转到下一个语句。
dataset['UpDown'] = np.where(dataset.UpDown < 0, 'Down', 'Up')