別の計算からのブール値を条件とする株価を持つデータフレームに列を作成したいとします。私はすべてがTrue届けることが、より多くの条件を定義したいと実物でnp.where()または新しいpandasデータフレーム列の別の論理的な方法
condition1: if df.close > df.close.shift() return True
:論理的にそのように見えるが、実際に長くいる可能性が
close high low
Index
0 10 11 10
1 11 12 10
2 10 11 9
まずI(s)は、いくつかの条件を定義したいですまたはFalse。
df['NewColumn'] = np.where(condition1() == True, 'A', 'B')
は、私が関数としての条件を定義しようとしましたが、それを正しく設定するために管理していませんでした。それから私はnp.where()にすることを含んでいます。条件の内容をnp.where()に直接書き込まないようにしたいのですが、これは複数のネストされた条件では複雑すぎるためです。
どうすれば私の仕事を最も効率的に行うことができますか?
編集:関数は次のようになります(ただし、上記)(np.whereでは動作しません):
def condition1():
if df.Close > df.Close.shift(1):
return True
Else
return False
'numpy.where(df.close> df.close.shift()のように直接それを行うことを容易にし、よりよいだろう、 ':しかし、あなたは、このようにそれを行うことができますA '、' B ') 'はうまくいくはずです –
共有してください***あなたは関数として定義しようとしたが、正しく設定していない状態***? – Abdou
@Paul H、私は実際の条件の複雑さと数のために式に直接条件を書くのを避けたいと思います。 –