Python Forum
Interate for loop over certain columns in dataframe
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Interate for loop over certain columns in dataframe
#1
Hallo.
I am working on my bachelor thesis where i want to run a loop over certain columns in my dataframe and create future and lagged returns of a portfolio.
I works fine for the first loop(future) but in the second loop(lagged) it creates a tickers_future_lagged

Keep in mind i load the data from a CSV-file and want to do this for whole index of stocks and several periods of lagged returns.

import pandas as pd
df_1 = pd.read_csv("data.csv")
df_1 = df_1.set_index('Date')
tickers = (['DANSKE.CO', 'NOVO.CO', 'ORSTED.CO'])


for tickers in df.columns:
    if df[tickers].dtype == 'float':
        df[tickers+'_future'] = df[tickers].shift(-1)/df[tickers]-1
       
for tickers in df.columns:
    if df[tickers].dtype == 'float':
        df[tickers+'_lagged'] = df[tickers].shift(1)/df[tickers]-1
       
for the first loop it creates 3 new colums with tickers_future that is correct
the the second loop it creates 6 new colums, both a tickers_lagged and a tickers_future_lagged and i only want the tickers_lagged and not the tickers_future_lagged

How do i run the loop so i only create the right column?

Hope you understand my question.

Best regards, Finpyth from Denmark.
Reply
#2
First loop changes the dataframe and you have another set of columns when calling df.columns in line #11.

To fix this, just store column names in a variable, before changing the df, e.g.
col_to_process = df.columns

for tickers in col_to_process:
    ... your code (_future)

for tickers in col_to_process:
    ... your code (_lagged)
Reply
#3
Thank you very much!
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  How to add columns to polars dataframe sayyedkamran 1 1,689 Nov-03-2023, 03:01 PM
Last Post: gulshan212
  concat 3 columns of dataframe to one column flash77 2 776 Oct-03-2023, 09:29 PM
Last Post: flash77
  Convert several columns to int in dataframe Krayna 2 2,362 May-21-2021, 08:55 AM
Last Post: Krayna
  Outputs "NaN" after "DataFrame columns" function? epsilon 7 3,572 Jan-27-2021, 10:59 AM
Last Post: epsilon
  Adapting a dataframe to the some of columns flyway 2 2,032 Aug-12-2020, 07:21 AM
Last Post: flyway
  Difference of two columns in Pandas dataframe zinho 2 3,313 Jun-17-2020, 03:36 PM
Last Post: zinho
  DataFrame: To print a column value which is not null out of 5 columns mani 2 2,077 Mar-18-2020, 06:07 AM
Last Post: mani
Question Dividing a single column of dataframe into multiple columns based on char length darpInd 2 2,417 Mar-14-2020, 09:19 AM
Last Post: scidam
  newbie: loop, modify dataframe cells expat_th 5 3,622 Mar-03-2020, 09:05 PM
Last Post: jefsummers
  How to highlight dataframe columns SriRajesh 1 1,825 Feb-28-2020, 11:02 PM
Last Post: Marbelous

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020