0

I get the following error

pandas.core.indexes.base.InvalidIndexError: Reindexing only valid with uniquely valued Index objects

On code

dfp = pd.concat([df, tdf], axis=1)

I am trying to concatenate columns of tdf to the columns of df.

For these print statements

print(df.shape)
print(tdf.shape)
print(df.columns)
print(tdf.columns)
print(df.index)
print(tdf.index)

I get the following output:

 (70000, 25)
 (70000, 20)
    Index(['300', '301', '302', '303', '304', '305', '306', '307', '308', '309',
           '310', '311', '312', '313', '314', '315', '316', '317', '318', '319',
           '320', '321', '322', '323', '324'],
          dtype='object')
    Index(['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13',
           '14', '15', '16', '17', '18', '19', '20'],
          dtype='object')
    Int64Index([   0,    1,    2,    3,    4,    5,    6,    7,    8,    9,
                ...
                9990, 9991, 9992, 9993, 9994, 9995, 9996, 9997, 9998, 9999],
               dtype='int64', length=70000)
    RangeIndex(start=0, stop=70000, step=1)

Any idea what is the issue? Why would indexing be a problem? Indexes are supposed to be the same since I concat columns, not rows. Column values seem to be perfectly different.

Thanks!

YohanRoth
  • 3,153
  • 4
  • 31
  • 58

1 Answers1

2

The problem is that df is not uniquely indexed. So you need to either reset the index

pd.concat([df.reset_index(),tdf], axis=1)

or drop it

pd.concat([df.reset_index(drop=True),tdf], axis=1)
Quang Hoang
  • 146,074
  • 10
  • 56
  • 74