Home > Enterprise >  Concat empty data frame with another Dataframe in pandas with python
Concat empty data frame with another Dataframe in pandas with python

Time:08-16

I have an empty dataframe of 14 rows with nan values created as below:

dfs_empty_rows = pd.DataFrame(data=[[np.nan] * len(interm_df.columns)] * 14, columns=[np.nan] * len(interm_df.columns))

I want to concat interm_df, which was values with dfs_empty_rows so that the forst 14 rows are blank in the new dataframe. I am trying to concat using:

pd.concat([dfs_empty_rows,df], axis=0, ignore_index=True)

But this is giving an error :

InvalidIndexError: Reindexing only valid with uniquely valued Index objects

How can i concat an empty df with another df with values.

Output should be concat of empty df with values df in order.

CodePudding user response:

IIUC change empty Dataframe constructor with same columns names like df - missing values are default, so not necessary specify - only index:

df = pd.DataFrame({'a':range(4), 'b':range(5, 9)})

dfs_empty_rows = pd.DataFrame(index=range(14), columns=df.columns)
print (dfs_empty_rows)
      a    b
0   NaN  NaN
1   NaN  NaN
2   NaN  NaN
3   NaN  NaN
4   NaN  NaN
5   NaN  NaN
6   NaN  NaN
7   NaN  NaN
8   NaN  NaN
9   NaN  NaN
10  NaN  NaN
11  NaN  NaN
12  NaN  NaN
13  NaN  NaN

df1 = pd.concat([dfs_empty_rows,df], ignore_index=True)
print (df1)
      a    b
0   NaN  NaN
1   NaN  NaN
2   NaN  NaN
3   NaN  NaN
4   NaN  NaN
5   NaN  NaN
6   NaN  NaN
7   NaN  NaN
8   NaN  NaN
9   NaN  NaN
10  NaN  NaN
11  NaN  NaN
12  NaN  NaN
13  NaN  NaN
14    0    5
15    1    6
16    2    7
17    3    8
    
  • Related