Abdul Azzam Ajhari
Abdul Azzam Ajhari

Reputation: 29

Iterate over loop with append data continuous

enter image description here

I need to iterate over row data in a pandas dataframe. However, I am stuck with looping because spending much time on millions data. I think my code still is not optimal.

new_columns = ['alt', 'alt_anomaly']
df_new = pd.DataFrame(columns=new_columns)
loop = 20
idx = 0

for i, row in df.iterrows():
    for alt in range(loop):
        alt_anomaly = df.iloc[i]['alt'] * (400.00)
        df_new.loc[idx] = row.values.tolist() + [alt_anomaly]
        idx += 1

print(df_new)

Use 400 ft as multiples to gradually change on the first vector, the second by 800 feet, and so on by multiple.

its like 
row[1] = 27800+400
row[2] = 27775+800
etc....

Thanks for your help, I appreciate that.

Upvotes: 0

Views: 90

Answers (1)

Ruthger Righart
Ruthger Righart

Reputation: 4921

You can do the following without looping:

df['alt_anomaly'] = df['alt'] + (df.index+1)*400

Or use Pandas .add option:

df['alt'].add((df.index+1)*400)

Upvotes: 1

Related Questions