0

I have a pandas dataframe where there is a column called 'CITY' with various city names. I did one-hot encoding on that column to convert the categorical features to numeric features.

dummy_CITY = pd.get_dummies(df['CITY'], drop_first=False)
dummy_CITY.head()

enter image description here

Next I'm trying to concatenate the new dataframe obtained after one-hot encoding, as shown below:

df_cat = pd.concat([df, dummy_CITY])

for which I'm getting the following error:

`

NotImplementedError                       Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_8620/1976427847.py in <module>
----> 1 df_cat = pd.concat([df, dummy_CITY])

~\anaconda3\lib\site-packages\pandas\util\_decorators.py in wrapper(*args, **kwargs)
    309                     stacklevel=stacklevel,
    310                 )
--> 311             return func(*args, **kwargs)
    312 
    313         return wrapper

~\anaconda3\lib\site-packages\pandas\core\reshape\concat.py in concat(objs, axis, join, ignore_index, keys, levels, names, verify_integrity, sort, copy)
    305     )
    306 
--> 307     return op.get_result()
    308 
    309 

~\anaconda3\lib\site-packages\pandas\core\reshape\concat.py in get_result(self)
    530                 mgrs_indexers.append((obj._mgr, indexers))
    531 
--> 532             new_data = concatenate_managers(
    533                 mgrs_indexers, self.new_axes, concat_axis=self.bm_axis, copy=self.copy
    534             )

~\anaconda3\lib\site-packages\pandas\core\internals\concat.py in concatenate_managers(mgrs_indexers, axes, concat_axis, copy)
    224             fastpath = blk.values.dtype == values.dtype
    225         else:
--> 226             values = _concatenate_join_units(join_units, concat_axis, copy=copy)
    227             fastpath = False
    228 

~\anaconda3\lib\site-packages\pandas\core\internals\concat.py in _concatenate_join_units(join_units, concat_axis, copy)
    486 
    487     has_none_blocks = any(unit.block is None for unit in join_units)
--> 488     upcasted_na = _dtype_to_na_value(empty_dtype, has_none_blocks)
    489 
    490     to_concat = [

~\anaconda3\lib\site-packages\pandas\core\internals\concat.py in _dtype_to_na_value(dtype, has_none_blocks)
    546     elif dtype.kind == "O":
    547         return np.nan
--> 548     raise NotImplementedError
    549 
    550 

NotImplementedError: 

I expected the new dataframe to be concatenated to the old one without any errors, as the number of rows match for both dataframes.

eshirvana
  • 23,227
  • 3
  • 22
  • 38

0 Answers0