Python Forum
column math - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: column math (/thread-15148.html)



column math - Devilish - Jan-06-2019

I have 3 columns in question... ['Last'] is data... ['Goal'] is Last shifted forward 5 rows
I am trying to assign a value to ['direction'] based on ['Goal'} >< 5

I'm probably over-complicating things, any help?

# I begin with creating a zero column as I was getting length errors
data['direction'] = 0
data['Goal'] = data['Last'].shift(5)
data = data.dropna()  #Drop rows with NAN after shift

for row in data.Last:
    if (data.values['Goal'] - data.values['Last'] >= 5):
        data['direction'] = 1, 
    elif (data.values['Goal'] - data.values['Last'] <= -5):
        data['direction'] = -1, 
    else:
        data['direction']=0
Error:
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices



RE: column math - scidam - Jan-06-2019

You don't really need to initialize direction column.

data.loc[data.Goal.shift(5) - data.Last >= 5, 'direction'] = 1
data.loc[data.Goal.shift(5) - data.Last <= -5, 'direction'] = -1
data.direction.fillna(0, inplace=True) # optionally, instead of initialization