Python pandas lectura de csv problema de análisis
Se puede descargar el conjunto de datos aquí. Todo está bien si abro el archivo con Excel o R, pero cuando lo cargo usando pd.read_csv
, todo se ve muy extraño. La columna Month
se fusiona con la columna Year
. ¿Alguien sabe qué causa el problema?
El conjunto de datos se ve así:
Year, Month, Monthly_MSL, Linear_Trend, High_Conf., Low_Conf. 1944,1,6.985,6.968,6.982,6.954, 1944,2,7.025,6.968,6.982,6.954, 1944,3,7.054,6.968,6.982,6.954, 1944,4,6.980,6.968,6.982,6.955, 1944,5,6.967,6.968,6.982,6.955,
import pandas as pd
pd.read_csv("330-071_meantrend.csv")
También intenté:
pd.read_csv("330-071_meantrend.csv", sep="\s,\s")
Resultados:
Year Month Monthly_MSL Linear_Trend High_Conf. Low_Conf.
1944 1 6.985 6.968 6.982 6.954 NaN
1944 2 7.025 6.968 6.982 6.954 NaN
1944 3 7.054 6.968 6.982 6.954 NaN
1944 4 6.980 6.968 6.982 6.955 NaN
1944 5 6.967 6.968 6.982 6.955 NaN
… … … … … … …
2006 7 7.074 7.079 7.092 7.066 NaN
2006 8 7.124 7.079 7.092 7.066 NaN
2006 9 7.110 7.079 7.093 7.066 NaN
2006 10 7.185 7.079 7.093 7.066 NaN
2006 11 7.086 7.080 7.093 7.066 NaN
Ninguna de las opciones anteriores funciona.
R funciona bien.
library(reader)
read_csv("330-071_meantrend.csv")
davy.ai
El problema con la columna ‘Month’ que se fusiona con la columna ‘Year’ al cargar el conjunto de datos usando
pd.read_csv()
es causado por un espacio al final del nombre de la columna.Para resolver el problema, podemos pasar el parámetro
skipinitialspace
comoTrue
para eliminar cualquier espacio en blanco al principio o al final en los nombres de las columnas. Aquí tienes un ejemplo de código:Esto nos debería dar la salida esperada con la columna ‘Month’ como una columna separada:
Ten en cuenta que no necesitamos especificar el separador utilizando el parámetro ‘sep’, ya que el separador predeterminado para
pd.read_csv()
es la coma.