Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

306
Views
Ya no se admite pasar los Me gusta de la lista a .loc o [] con etiquetas faltantes

Quiero crear un marco de datos modificado con las columnas especificadas. Intenté lo siguiente, pero aparece el error "Pasar lista de me gusta a .loc o [] con etiquetas faltantes ya no es compatible"

 # columns to keep filtered_columns = ['text', 'agreeCount', 'disagreeCount', 'id', 'user.firstName', 'user.lastName', 'user.gender', 'user.id'] tips_filtered = tips_df.loc[:, filtered_columns] # display tips tips_filtered

Gracias

over 4 years ago · Santiago Trujillo
5 answers
Answer question

0

Algunas de las columnas de la lista no están incluidas en el marco de datos, si desea hacerlo, intentemos reindex

 tips_filtered = tips_df.reindex(columns=filtered_columns)
over 4 years ago · Santiago Trujillo Report

0

Encontré el mismo error con etiquetas de índice de fila faltantes en lugar de columnas .
Por ejemplo, tendría un conjunto de datos de productos con los siguientes identificadores: ['a','b','c','d']. Almaceno esos productos en un dataframe con índices ['a','b','c','d'] :

 df=pd.DataFrame(['product a','product b','product c', 'product d'],index=['a','b','c','d'])

Ahora supongamos que tengo un índice de producto actualizado: row_indices=['b','c','d','e'] en el que 'e' corresponde a un nuevo producto: 'product e'. Tenga en cuenta que 'e' no estaba presente en mi índice original ['a','b','c','d'] .

Si trato de pasar este índice actualizado a mi marco de datos df: df.loc[row_indices,:] ,

Recibiré este desagradable mensaje de error:

KeyError: "Pasar list-likes a .loc o [] con etiquetas faltantes ya no se admite. Faltaban las siguientes etiquetas: Index(['e'], dtype='object').

Para evitar este error, necesito hacer una intersección de mi índice actualizado con el índice original:

 df.loc[df.index.intersection(row_indices),:]

esto está en línea con la recomendación de lo que pandas docs

over 4 years ago · Santiago Trujillo Report

0

Parece que Pandas ha desaprobado este método de indexación. Según sus documentos :

Este comportamiento está en desuso y mostrará un mensaje de advertencia que apunta a esta sección. La alternativa recomendada es usar .reindex()

Usando el nuevo método recomendado , puede filtrar sus columnas usando:

tips_filtered = tips_df.reindex(columns = filtered_columns) .

NB: para reindexar filas, usaría reindex(index = ...) (Más información aquí ).

over 4 years ago · Santiago Trujillo Report

0

Tuve el mismo problema al intentar crear nuevas columnas junto con las existentes:

 df = pd.DataFrame([[1,2,3]], columns=["a","b","c"]) def foobar(a,b): return a,b df[["c","d"]] = df.apply(lambda row: foobar(row["a"], row["b"]), axis=1)

La solución fue agregar result_type="expand" como argumento de apply() :

 df[["c","d"]] = df.apply(lambda row: foobar(row["a"], row["b"]), axis=1, result_type="expand")
over 4 years ago · Santiago Trujillo Report

0

Este error aparece si se indexa algo que no está presente: reset_index() funcionó para mí, ya que estaba indexando un subconjunto del marco de datos real con índices reales, en este caso, es posible que la columna no esté presente en el marco de datos.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!