Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

141
Visualizações
¿Cómo filtro las filas que vienen antes de la fila que contiene cierto valor para cada grupo en el marco de datos?

¿Cómo obtengo solo las filas que vienen después del 'clic' en la columna 'action_type' para cada client_id los datos del juguete?

 df = pd.DataFrame({ 'user_client_id': [1,1, 1, 1, 1,1, 1,1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], 'timestamp':['2021-12-18 09:15:59', '2021-12-18 10:33:49', '2021-12-18 10:34:08', '2021-12-18 10:34:09', '2021-12-18 10:57:02','2021-12-18 10:57:33','2021-12-18 10:58:01','2021-12-18 10:58:02','2021-12-18 10:58:17', '2021-12-18 10:58:29','2021-12-18 10:58:31','2021-12-18 10:58:34', '2021-12-18 10:58:34','2021-12-18 10:58:47', '2021-12-18 10:59:12', '2021-12-18 10:59:28','2021-12-18 10:59:35','2021-12-18 10:59:38','2021-12-18 11:05:13', '2021-12-18 11:05:58','2021-12-18 11:06:08','2021-12-18 11:06:10','2021-12-18 11:06:12','2021-12-18 11:07:42', '2021-12-18 11:10:07','2021-12-18 11:10:23', '2021-12-18 11:10:53', '2021-12-18 11:10:58', '2021-12-18 11:13:04', '2021-12-18 11:13:06', '2021-12-18 14:56:32','2021-12-18 17:16:40'], 'action_type ': ['to_cart','to_cart','to_cart','to_cart','click', 'to_cart', 'to_cart', 'increment', 'remove', 'to_cart', 'increment', 'click', 'to_cart', 'increment', 'to_cart', 'to_cart', 'remove', 'to_cart', 'increment', 'to_cart', 'to_cart', 'click', 'increment', 'to_cart', 'to_cart', 'to_cart', 'click', 'increment', 'to_cart', 'increment', 'to_cart', 'increment'] })

Para el cliente con ID 1, todo lo que viene antes del clic en 2021-12-18 10:57:02 debe filtrarse para el cliente con ID 2, todo lo que viene antes del clic en 2021-12-18 11:06:10 debe ser filtrado

Lo he intentado de esta manera, pero solo funciona para el cliente 1, pero no funciona para el cliente 2

 df.iloc[df.loc[df['action_type']=='click'].index[0]:,:]
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Cada vez que dice "por cliente", es una buena señal de que necesita un groupby . En cuanto a filtrar las filas antes del primer clic, puede contar el número acumulado de clics y luego obtener solo las filas donde los clics > 0:

 def filter(group): click = group['action_type'].eq('click').cumsum() return group[click > 0] df.groupby('user_client_id').apply(filter).reset_index(level=0, drop=True)
over 4 years ago · Santiago Trujillo Relatório

0

Puede usar una máscara con groupby y cummax . Esto establecerá todos los valores por grupo en Verdadero después del primer "clic"

 m = (df['action_type'].eq('click') .groupby(df['user_client_id']) .cummax() ) df[m]

Producción:

 user_client_id timestamp action_type 4 1 2021-12-18 10:57:02 click 5 1 2021-12-18 10:57:33 to_cart 6 1 2021-12-18 10:58:01 to_cart 7 1 2021-12-18 10:58:02 increment 8 1 2021-12-18 10:58:17 remove 9 1 2021-12-18 10:58:29 to_cart 10 1 2021-12-18 10:58:31 increment 11 1 2021-12-18 10:58:34 click 12 1 2021-12-18 10:58:34 to_cart 13 1 2021-12-18 10:58:47 increment 14 1 2021-12-18 10:59:12 to_cart 21 2 2021-12-18 11:06:10 click 22 2 2021-12-18 11:06:12 increment 23 2 2021-12-18 11:07:42 to_cart 24 2 2021-12-18 11:10:07 to_cart 25 2 2021-12-18 11:10:23 to_cart 26 2 2021-12-18 11:10:53 click 27 2 2021-12-18 11:10:58 increment 28 2 2021-12-18 11:13:04 to_cart 29 2 2021-12-18 11:13:06 increment 30 2 2021-12-18 14:56:32 to_cart 31 2 2021-12-18 17:16:40 increment
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda