Home > Net >  concatenate dataframe with dataframe from list
concatenate dataframe with dataframe from list

Time:12-12

I want to concatenate a dataframe (df) with another dataframe that is stored in a list of dataframes.

dflist = [df1, df2, df3]

What I want is a dataframe like below

new_dflist = [df df1, df df2, df df3]

new_dflist=[]
for n in dflist:
    new_dflist.append(pd.concat(df, dflist[n]))

but I get the error, TypeError: list indices must be integers or slices, not DataFrame

I also tried with enumerate but I get the error, TypeError: list indices must be integers or slices, not tuple

CodePudding user response:

Try this:

dflist = [df1, df2, df3]
new_dflist=[]
for n in dflist:
    new_dflist.append(pd.concat(df, n))

n is a dataframe and you are trying to put it in list index

CodePudding user response:

but I get the error, TypeError: list indices must be integers or slices, not DataFrame

That is because n is a dataframe, not an integer. You seem to think that for loop gives you the indexes in a list, but it actually gives you the items directly. Just change your code to use the dataframe from the for loop iterator:

new_dflist=[]
for new_df in dflist:
    new_dflist.append(pd.concat(df, new_df))

Alternatively, you can do this in a single line with a list comprehension:

new_dflist=[pd.concat(df, new_df) for new_df in dflist]
  • Related