Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

291
Vistas
Omita la primera línea en la declaración de importación usando gc.open_by_url de gspread (es decir, agregue encabezado = 0)

¿Cuál es el equivalente de header=0 en pandas , que reconoce la primera línea como un encabezado en gspread ?

Declaración de importación de pandas (correcta)

 import pandas as pd # gcp / google sheets URL df_URL = "https://docs.google.com/spreadsheets/d/1wKtvNfWSjPNC1fNmTfUHm7sXiaPyOZMchjzQBt1y_f8/edit?usp=sharing" raw_dataset = pd.read_csv(df_URL, na_values='?',sep=';' , skipinitialspace=True, header=0, index_col=None)

Usando la función gspread, hasta ahora importo los datos, cambio la primera línea al encabezado y luego elimino la primera línea después, pero esto reconoce todo en el DataFrame como una cadena. Me gustaría reconocer la primera línea como un encabezado de inmediato en la declaración de importación.

declaración de importación gspread que necesita header=True equivalente

 import pandas as pd from google.colab import auth auth.authenticate_user() import gspread from oauth2client.client import GoogleCredentials # gcp / google sheets url df_URL = "https://docs.google.com/spreadsheets/d/1wKtvNfWSjPNC1fNmTfUHm7sXiaPyOZMchjzQBt1y_f8/edit?usp=sharing" # importing the data from Google Drive setup gc = gspread.authorize(GoogleCredentials.get_application_default()) # read data and put it in dataframe g_sheets = gc.open_by_url(df_URL) df = pd.DataFrame(g_sheets.get_worksheet(0).get_all_values()) # change first row to header df = df.rename(columns=df.iloc[0]) # drop first row df.drop(index=df.index[0], axis=0, inplace=True)
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Mirando la documentación de la API , probablemente quieras usar:

 df = pd.DataFrame(g_sheets.get_worksheet(0).get_all_records(head=1))

El método .get_all_records devuelve un diccionario con los encabezados de columna como claves y una lista de valores de columna como valores de diccionario. El argumento head=<int> determina qué fila usar como claves; las filas comienzan desde 1 y siguen la numeración de la hoja de cálculo.

Dado que los valores devueltos por .get_all_records() son listas de cadenas, el constructor del marco de datos, pd.DataFrame , devolverá un marco de datos que son todas cadenas. Para convertirlo en flotantes, debemos reemplazar las cadenas vacías y las cadenas de solo guiones ( '-' ) con valores de tipo NA, luego convertirlo en float .

Afortunadamente, pandas DataFrame tiene un método conveniente para reemplazar valores .replace . Podemos pasar la asignación de la cadena que queremos como NA a Ninguno, que se convierte en NaN.

 import pandas as pd data = g_sheets.get_worksheet(0).get_all_records(head=1) na_strings_map= { '-': None, '': None } df = pd.DataFrame(data).replace(na_strings_map).astype(float)
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda