Pandas: Getting "TypeError: only integer scalar arrays can be converted to a scalar index" while trying to merge data frames

When renaming columns, use DataFrame.columns = [list], not DataFrame.columns = [[list]]:

df1 = pd.DataFrame({'a': [1, 2]})
df2 = pd.DataFrame({'b': [3, 1]})

df1.columns = ['b']

df1.merge(df2, on='b')
#   b
# 0 1

Replaced the code tmp.columns = [['POR','POR_PORT']] with tmp.rename(columns={'Locode':'POR', 'Port Name':'POR_PORT'}, inplace=True) and it worked.