0

I have a data set in which column names have keywords such as: '',for, in. I want to rename the column names however when I try to rename them it gives an error.

 geography1.rename(columns = {'code' : 'World Bank (ISO) 3-letter code', 
'country' : 'Country Name', 
'areakm2' : 'Area in km2',
'cen_lat' : 'latitude of country centroid', 
'cen_lon' : 'longitude of country centroid', 
'elev' : 'mean m above sea level', 
'distcr' : 'mean distance to coast or river', 
'distc' : 'mean distance to coast',
'distr' : 'mean distance to river', 
'tropicar' : '% land area in geographical tropics',
'troppop' : '%pop ('95) in geographical tropics',
'lc100km' : '%area 100km from icefree coast',
'lcr100km' : '%area 100km from icefree coast or sea-nav. river', 
'pop95' : '1995 pop (from GPWv2)', 
'pdenpavg' : 'typical pop density experienced',
'pop100km' : '%pop ('95) 100km from icefree coast', 
'pop100cr' : '%pop ('95) 100km from icefree coast or sea-nav. river', 
'cen_c' : 'dist centroid to coast(km)', 
'cen_cr' : 'dist centroid to coast/riv (km)' })

Error:

File "<ipython-input-38-8d61ee263006>", line 11
    'troppop' : '%pop ('95) in geographical tropics',
                         ^
SyntaxError: invalid syntax
Asra Khalid
  • 177
  • 1
  • 18
  • 1
    Possible duplicate of [Using quotation marks inside quotation marks](https://stackoverflow.com/questions/9050355/using-quotation-marks-inside-quotation-marks) – wjandrea Nov 05 '19 at 19:23

1 Answers1

0

The problem isn't the names that look like keywords, it's the single quote marks. They need to be escaped, for example, using a backslash:

'troppop': '%pop (\'95) in geographical tropics',
wjandrea
  • 28,235
  • 9
  • 60
  • 81