Qué es uno mismo en Python: ejemplos del mundo real
Qué es uno mismo en Python: ejemplos del mundo real
Le mostraré cómo extraer registros de datos delimitados combinados dentro de varias columnas . Esto convierte sus datos en un formato que es más adecuado para el análisis.
hay muchas maneras de hacer esto. Pero para este tutorial, me centraré en una solución sugerida por Ankit, que forma parte de nuestra comunidad LuckyTemplates. Puede ver el video completo de este tutorial en la parte inferior de este blog.
Tabla de contenido
Uso de Text.Split
Para esta solución, usaré Power Query para extraer registros de datos delimitados.
A continuación se muestra la tabla Oportunidades dentro de Power Query .
Como puede ver, hay múltiples valores concatenados en un solo registro. En la segunda fila, por ejemplo, se presentan 4 valores diferentes. Estos 4 valores se fusionan en las columnas Competidores y Cantidades de competidores .
Lo primero que voy a hacer es usar Text.Split .
Text.Split devuelve una lista después de dividir un valor de texto en función de un delimitador específico.
Para comenzar a usar Text.Split , voy a copiar el delimitador usado en esta tabla.
Notará que una vez que hago clic en esa entrada en la tabla, el valor del registro aparece en la parte inferior. Copiaré el delimitador desde allí.
Una vez que haya hecho eso, agregaré una columna personalizada.
No tengo que cambiar el nombre todavía. Solo necesito hacer un Text.Split en Custom Column Formula .
Esta fórmula necesita un valor de texto. Así que elegiré la columna Competidores en el panel derecho y se agregará automáticamente a la fórmula.
También necesito un separador dado como texto. Entonces, dentro de un par de comillas, voy a pegar el delimitador que copié anteriormente. Luego, agregaré el paréntesis de cierre.
Una vez que presione OK, terminaré con un objeto de lista.
Mirando la primera lista, las columnas Competidores y Cantidades muestran una sola entrada. Entonces, si hago clic en el espacio vacío al lado del objeto de la lista en la columna Personalizada, también muestra un valor único en la parte inferior.
Para el segundo registro, tengo una lista que contiene cuatro valores. Esto corresponde a los 4 valores que también se muestran en la columna Competidores y en la columna Montos .
Uso de List.Zip
Ahora que he dividido la lista, el siguiente paso es agregar el valor correspondiente de la columna Importes de la competencia. Voy a List.Zip para hacer eso.
Piense en List.Zip como una cremallera real. Toma una lista de listas y combina los elementos.
Mirando el ejemplo a continuación, solo piense en la primera lista (1 y 2) como la pista verde en la cremallera.
Luego, piensa en 3 y 4 como la pista roja.
Cuando se aplica List.Zip , se juntan en el medio. Entonces, 1 del primer grupo se combina con 3 del segundo grupo. Lo mismo sucede con 2 y 4. Esto se puede ver en la salida, donde hay dos nuevos grupos que se han formado.
Puede haber ocasiones en que las listas involucradas tengan diferentes longitudes . Esto significa que si se combinan las listas, se devolverán los datos que faltan . Para crear pares exactos a pesar de la falta de datos, se agrega un valor nulo .
Volviendo a la tabla Oportunidades , agregaré otra columna personalizada.
Esta vez, agregaré la columna Cantidades de competidores a la fórmula.
También voy a agregar List.Zip .
Comprobando a continuación, muestra que no hay errores detectados.
Pero cuando hago clic en Aceptar y miro la nueva columna formada, sigo recibiendo un error.
Voy a hacer clic en el espacio en blanco junto al error para ver los detalles. Muestra que recibo un error porque devolví algunos argumentos en torno a las listas.
Mirando la fórmula, muestra que esta sintaxis donde se hizo referencia a la columna Competidores devolvió una lista.
Pero la sintaxis de las columnas Importes de la competencia también devolvió una lista.
Recordando lo que hace List.Zip, toma una sola lista de listas y las combina .
Al ver que aparecen dos listas, necesito el inicializador de lista para unir esas listas . Es por eso que estoy agregando estos corchetes.
Una vez que agregue el corchete de cierre al final, solo necesito presionar enter. Eso me dará un objeto de lista.
Ahora, cuando hago clic al costado del primer registro, muestra un solo objeto de lista. Esto es correcto, ya que en Montos de la competencia, realmente hay un solo valor allí.
Si hago lo mismo con el segundo registro, muestra un objeto de lista que contiene 4 listas. Eso también coincide con la cantidad de valores en los datos delimitados en Importes de la competencia.
Usaré las flechas laterales a la derecha del encabezado de la columna Personalizada para expandir los datos en filas nuevas.
Preste atención al segundo registro a medida que amplío a nuevas filas.
Verá que todos los valores de ese registro se expanden hacia abajo.
Y cuando hago clic en el lado del espacio en blanco, puedo ver el contenido de esa lista anidada. Dado que el primer registro tiene solo un valor para cada columna, también muestro los mismos datos en la parte inferior.
Pero cuando hago clic en el segundo registro, verá que solo muestro el primero de los 4 valores dados en mis datos delimitados.
En el tercer registro, muestro la combinación de los segundos valores.
Así que voy a usar las flechas laterales nuevamente. Pero esta vez, voy a extraer los valores de esa lista.
Voy a darle un separador personalizado.
Usaré la tubería doble como mi delimitador. Esto debería hacer más clara la distinción entre los valores en los datos delimitados.
Una vez que presiono Aceptar, los valores se concatenan directamente en la columna Personalizada.
Limpiando los datos
Ya no necesito las columnas Competidor y Importes del competidor, así que voy a eliminar esas columnas.
En cuanto a la columna personalizada, la dividiré.
En la pestaña de transformación, seleccionaré Dividir columna. Voy a dividirlo por el delimitador.
En la ventana, voy a dar la tubería doble como base.
Una vez que presione OK, los datos ahora se dividirán en columnas separadas.
Solo cambiaré el nombre de estas nuevas columnas para que sea más fácil averiguar de qué se tratan los datos. Volveré a llamar a esto la columna Competidor.
Luego llamaré a la otra columna la columna Cantidad.
Obviamente, la columna Cantidad contiene números. Pero si observa el ícono que representa el tipo de datos, muestra que tengo texto en lugar de números. Así que empezaré a arreglar eso.
Vivo en Europa, por lo que usamos un punto como separador de miles en lugar de una coma. Voy a usar Reemplazar valores para limpiar eso.
En la ventana, solo necesito poner una coma debajo de Valor para encontrar y un punto debajo de Reemplazar con.
Una vez que presione OK, todas las comas ahora mostrarán puntos en su lugar.
Lo siguiente que voy a hacer es quitar el signo de dólar delante de los valores. Nuevamente, usaré la herramienta Reemplazar valores. Esta vez, dejaré el espacio para Reemplazar con un espacio en blanco.
Una vez que presiono OK, los valores solo mostrarán los números sin ninguna moneda.
Mirando hacia abajo en mi columna, también muestra una entrada aquí con un guión doble. Dado que eso podría devolver un posible error, voy a deshacerme de ese doble guión.
Reemplazaré el guión doble con un espacio en blanco.
Y una vez que presiono Aceptar, tengo el formato correcto para todas las entradas en la columna Cantidad.
Ahora puedo hacer clic en el icono del tipo de datos y elegir Número entero.
Cambie los formatos de fecha con el editor de Power Query
3 formas de combinar valores con DAX Inside LuckyTemplates
Transformaciones avanzadas en LuckyTemplates
Conclusión
Como mencioné anteriormente, puede extraer valores de datos delimitados de diferentes maneras. Pero para mí, este enfoque es una de las formas más fáciles y rápidas de hacerlo.
Ya que tuve la idea de esta solución de uno de los miembros de la comunidad , esto también muestra cuán importante es el . Realmente puedes ver cada problema desde muchas perspectivas diferentes. A partir de ahí, puede elegir la solución que crea que funcionaría mejor para usted.
Mis mejores deseos,
Toronjil
***** ¿Aprender LuckyTemplates? *****
Qué es uno mismo en Python: ejemplos del mundo real
Aprenderá a guardar y cargar objetos desde un archivo .rds en R. Este blog también cubrirá cómo importar objetos desde R a LuckyTemplates.
En este tutorial del lenguaje de codificación DAX, aprenda a usar la función GENERAR y a cambiar dinámicamente el título de una medida.
Este tutorial cubrirá cómo usar la técnica de elementos visuales dinámicos de subprocesos múltiples para crear información a partir de visualizaciones de datos dinámicos en sus informes.
En este artículo, repasaré el contexto del filtro. El contexto del filtro es uno de los temas principales que cualquier usuario de LuckyTemplates debería conocer inicialmente.
Quiero mostrar cómo el servicio en línea de LuckyTemplates Apps puede ayudar a administrar diferentes informes e información generada a partir de varias fuentes.
Aprenda a calcular los cambios de su margen de beneficio utilizando técnicas como la bifurcación de medidas y la combinación de fórmulas DAX en LuckyTemplates.
Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.
Si todavía usa Excel hasta ahora, este es el mejor momento para comenzar a usar LuckyTemplates para sus necesidades de informes comerciales.
¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber