Python 如何根据某些条件编辑数据帧?
我画了两个数据框,大概是这样。我想得到一个新的数据帧,这样每当这两条曲线互相交叉时,只需在这些位置放置1或-1。其中正值可能类似于蓝色曲线向上穿过橙色曲线,与-1相反 使用此代码生成的数据帧(供参考): 首先,我计算这些曲线之间的间距-Python 如何根据某些条件编辑数据帧?,python,data-processing,Python,Data Processing,我画了两个数据框,大概是这样。我想得到一个新的数据帧,这样每当这两条曲线互相交叉时,只需在这些位置放置1或-1。其中正值可能类似于蓝色曲线向上穿过橙色曲线,与-1相反 使用此代码生成的数据帧(供参考): 首先,我计算这些曲线之间的间距- df['curve_diff'] = df['curve1']-df['curve2'] 接下来,我使用下面的命令 df.loc[df['curve_diff'] > 0 & df['curve_diff'].shift(1) == 0, 'ne
df['curve_diff'] = df['curve1']-df['curve2']
接下来,我使用下面的命令
df.loc[df['curve_diff'] > 0 & df['curve_diff'].shift(1) == 0, 'new'] = 1.0
df.loc[df['curve_diff'] < 0 & df['curve_diff'].shift(1) == 0, 'new'] = -1.0
df.loc[df['new'] != 1.0 | df['new'] != -1.0, 'new'] = 0
df.loc[df['curve_diff']>0&df['curve_diff'].shift(1)=0,“new']=1.0
df.loc[df['curve_diff']<0和df['curve_diff'].shift(1)==0,“new']=-1.0
df.loc[df['new']!=1.0 | df['new']!=-1.0,'new']=0
这些命令不起作用,出现以下错误:
TypeError:无法将数据类型的[float64]数组与类型为[bool]的标量进行比较。对每个条件使用括号,并使用运算符
&
和
。像这样
df.loc[(df['new'] != 1.0) | (df['new'] != -1.0), 'new'] = 0
不幸的是,这不是一个代码编写或教程服务,而对库或教程的请求显然与堆栈溢出无关。根据你自己的研究,你尝试过什么?你的结果是什么?请提供一个,以便我们可以提供具体的帮助,我很抱歉没有理解这个平台的意图,我已经改变了我的问题,请你帮我重新打开这个问题。
df.loc[(df['new'] != 1.0) | (df['new'] != -1.0), 'new'] = 0