El objeto de dataframe no tiene atributo

Sé que este tipo de pregunta se hizo antes y he comprobado todas las respuestas y he intentado varias veces encontrar una solución pero en vano. De hecho llamo a un Dataframe usando Pandas. He subido un archivo csv.file.

conjunto de datos de csv

Cuando data.Country y data.Year , obtengo la primera columna y la segunda mostrada. Sin embargo, cuando data.Number , cada vez me da este error:

AttributeError: el objeto ‘DataFrame’ no tiene atributo ‘Número’.

Compruebe su DataFrame con data.columns

Debería imprimir algo como esto

 Index([u'regiment', u'company', u'name',u'postTestScore'], dtype='object') 

Compruebe si hay espacios en blanco ocultos … Luego puede cambiar el nombre con

 data = data.rename(columns={'Number ': 'Number'}) 

Voy a hacer una conjetura. Creo que el nombre de la columna que contiene "Number" es algo así como " Number" o "Number " . Tenga en cuenta que supongo que podría tener un espacio residual en el nombre de la columna en algún lugar. Hazme un favor y ejecuta la print "<{}>".format(data.columns[1]) y mira lo que obtienes. ¿Es algo como < Number> ? Si es así, entonces mi suposición fue correcta. Deberías poder arreglarlo con esto:

 data.columns = data.columns.str.strip() 

Solución rápida: cambia cómo Excel convierte los archivos importados. Vaya a ‘Archivo’, luego ‘Opciones’, luego ‘Avanzado’. Desplázate hacia abajo y desmarca “Usar separadores del sistema”. También cambie ‘Separador decimal’ a ‘.’ y ‘Separador de miles’ a ‘,’. Luego simplemente ‘vuelva a guardar’ su archivo en formato CSV (delimitado por comas). La causa raíz generalmente se asocia con la forma en que se crea el archivo csv. Confía en que ayuda. El punto es, ¿por qué usar código extra si no es necesario? La comprensión e integración multiplataforma es clave en la ingeniería / desarrollo.