Replace values inside column in pandas

  • A+
Category:Languages

I am trying to replace the values of 'Period' Column in this data frame:

     Year  Period        y          yhat                Contas Resultado  0   2017       1  1.251556e+00  1.251556e+00               Devoluções    1   2017       2  2.109900e-01  2.109899e-01               Devoluções    2   2017       3  1.186015e+00  1.186015e+00               Devoluções    3   2017       4  2.530208e-01  2.530208e-01               Devoluções    4   2017       5  2.305744e-01  2.305745e-01               Devoluções    5   2017       6  2.367768e-01  2.367768e-01               Devoluções    6   2017       7  2.509670e-01  2.509670e-01               Devoluções    7   2017       8  2.525350e-01  2.525350e-01               Devoluções    8   2017       9  2.509663e-01  2.509663e-01               Devoluções    9   2017      10  2.204747e-01  2.204747e-01               Devoluções    10  2017      11  2.262774e-01  2.262774e-01               Devoluções    11  2017      12  2.373548e-01  2.373548e-01               Devoluções    12  2018       1  1.155845e+00  1.155845e+00               Devoluções    ... 

Using this command:

repl_dict = {     '01': 'M1', '02': 'M2', '03': 'M3', '04': 'M4', '05': 'M5', '06': 'M6',     '07': 'M7', '08': 'M8', '09':'M9', '10':'M10', '11':'M11', '12':'M12' }  results['Period'].replace(repl_dict) 

However I got the following error:

TypeError: Cannot compare types 'ndarray(dtype=int64)' and 'str' 


Python 3.6+ f-strings

df.assign(Period=[f'M{i}' for i in df.Period])      Year Period         y      yhat Contas Resultado 0   2017     M1  1.251556  1.251556       Devoluções 1   2017     M2  0.210990  0.210990       Devoluções 2   2017     M3  1.186015  1.186015       Devoluções 3   2017     M4  0.253021  0.253021       Devoluções 4   2017     M5  0.230574  0.230574       Devoluções 5   2017     M6  0.236777  0.236777       Devoluções 6   2017     M7  0.250967  0.250967       Devoluções 7   2017     M8  0.252535  0.252535       Devoluções 8   2017     M9  0.250966  0.250966       Devoluções 9   2017    M10  0.220475  0.220475       Devoluções 10  2017    M11  0.226277  0.226277       Devoluções 11  2017    M12  0.237355  0.237355       Devoluções 12  2018     M1  1.155845  1.155845       Devoluções 

str.format function

df.assign(Period=df.Period.map('M{}'.format))      Year Period         y      yhat Contas Resultado 0   2017     M1  1.251556  1.251556       Devoluções 1   2017     M2  0.210990  0.210990       Devoluções 2   2017     M3  1.186015  1.186015       Devoluções 3   2017     M4  0.253021  0.253021       Devoluções 4   2017     M5  0.230574  0.230574       Devoluções 5   2017     M6  0.236777  0.236777       Devoluções 6   2017     M7  0.250967  0.250967       Devoluções 7   2017     M8  0.252535  0.252535       Devoluções 8   2017     M9  0.250966  0.250966       Devoluções 9   2017    M10  0.220475  0.220475       Devoluções 10  2017    M11  0.226277  0.226277       Devoluções 11  2017    M12  0.237355  0.237355       Devoluções 12  2018     M1  1.155845  1.155845       Devoluções 

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: