Mi línea favorita de código Python

Sí, tengo una línea 'favorita' de código Python porque sucede que hay algo que hago con tanta frecuencia (tanto en mi vida académica como en mi palabra) que su elegancia no solo me ahorra tiempo, sino que también hace lo que necesito.

Pandas DataFrames es una forma especialmente buena de administrar datos tabulares en Python. A menudo, en la ciencia de datos, los datos se manipulan, no solo uno o dos valores, sino todos los valores en una o más columnas. Por ejemplo, al hacer correcciones.

Ahí es donde entra mi línea de código favorita.

Aquí hay un ejemplo con algunos datos incorrectos:

Voy a empezar con la makecolumna; los valores en él son inconsistentes y necesito poner todos los makevalores en mayúscula inicial. Sin más preámbulos, aquí está mi línea de código favorita (asumiendo que los datos se cargan en un DataFrame llamado my_data_df:

my_data_df[‘make’] = my_data_df[‘make’].apply(lambda x: x.title())

Mira, todo bonito y corregido.

Rompiendo esto un poco, lo que hice fue usar la applyfunción DataFrame para iterar a través de cada valor en la columna especificada ( make) y para cada celda, apliqué una función de cadena simple ( title) para convertir ese valor en el caso del título (límite inicial). En la lambdafunción, xes el valor que estoy cambiando.

Ampliando la funcionalidad

Otra cosa que la convierte en mi línea de código favorita es que es una línea versátil, que puede ser extendida y generalizada. Ese último ejemplo realmente no se hizo del todo correctamente, ¿verdad? BMW es una inicialidad que representa al Bayerische Motoren Werke y no debería ser un caso de título, sino todo un límite.

¿Puedo hacer eso con mi línea de código favorita? Oh si puedo.

my_data_df[‘make’] = my_data_df[‘make’].apply(lambda x: x.title() if x != ‘bmw’ else x.upper())

Lo que hice fue extender la lambdafunción original agregando un if else clausepara administrar BMW. Dicho claramente, esa línea de código ahora dice:

Para todas las filas de la makecolumna, conviértalas en mayúsculas y minúsculas si el valor no lo es bmw; de lo contrario, conviértalas en mayúsculas.

Nada mal para una sola línea de código.

Generalizar el Código

Como dije al principio, utilizo esta línea de código (o alguna variación en ella) muy a menudo. En la práctica, no lo reescribo cada vez, por muy divertido que sea. En cambio, he generalizado variaciones usando funciones de Python. Mire la daycolumna: los días de la semana son inconsistentes y me gustaría que todos los días fueran los días completos en el título. Pero de manera más general, tengo una o más palabras "incorrectas" que quiero "corregir". Ahora la única línea de código para cambiar una de estas situaciones, digamos weda Wednesday, es bastante simple:

my_data_df[‘day’] = my_data_df[‘day’].apply(lambda x: ‘Wednesday’ if x == ‘wed’ else x.title())

Al igual que en el último ejemplo, puse una condición en la lamdafunción, pero esta vez solo verifiqué si el valor es wedy, si es así, lo cambié a Wednesday, de lo contrario, simplemente hágalo inicial cap ( else x.title()).

Eso es bueno, pero se requiere más de un cambio, y me gustaría construir una función que pueda cambiar cualquier palabra por cualquier otra.

Este código, obviamente, no incluye mi línea favorita, pero será utilizado por mi línea favorita. La correct_wordfunción es una función general que primero convierte xa mayúsculas y minúsculas y luego, si xes la palabra incorrecta, devuelve la palabra correcta (en esencia, hace que x sea la palabra correcta); de lo contrario, devuelve x. (No querrá cambiar la palabra a menos que sea la palabra incorrecta). Si empiezo todo de nuevo con mis datos originales, ahora puedo cambiar todo con bastante facilidad.

Observe cómo la lambdafunción ahora simplemente llama a mi correct_wordfunción personalizada . Bastante simple. (Lo sé, lo sé, esto ya no es una sola línea de código, pero sigo usando mi línea favorita y mostrando cómo usarla de manera más general).

Sé que hay líneas de código más potentes, y tal vez incluso líneas de código más interesantes, pero ninguna de esas es mi favorita. Este es. Espero que te guste.

Suggested posts

Cómo ejecutar los complementos de ChatGPT de forma gratuita usando Langchain

Cómo ejecutar los complementos de ChatGPT de forma gratuita usando Langchain

Debe haber oído hablar de todos los complementos nuevos y potentes de ChatGPT, como el navegador, el intérprete de código, etc. Pero hay un problema, el acceso a los complementos está limitado a una lista de espera y, por lo tanto, muchos no tienen acceso a ellos.

Mis recursos de codificación más utilizados

Mis recursos de codificación más utilizados

Esta semana, recibí un correo electrónico de un miembro de la lista de correo electrónico diaria. Querían saber: ¿Qué recursos visita diariamente, semanalmente y mensualmente? ¡Gran pregunta! Estoy feliz de intentar compartir algunas ideas sobre mi flujo de trabajo y los principales recursos que uso.

Related posts

Creación de un entorno de trabajo seguro

Creación de un entorno de trabajo seguro

“Él me protegerá cuando esté en peligro. Me esconderá en su tienda.

Lo que puede hacer en su temporada de espera (esperando conseguir su primer trabajo en tecnología)

Lo que puede hacer en su temporada de espera (esperando conseguir su primer trabajo en tecnología)

Cambiar a una nueva carrera puede ser extremadamente desafiante si trata de hacerlo solo. Es importante encontrar socios responsables que estén en el mismo nivel de aprendizaje que usted, que compartan objetivos, tenacidad e impulso similares.

El asesinato de Jordan Neely y el problema del racismo “patriótico”

¿Puede Estados Unidos dar el paso esencial de no equiparar el comportamiento racista con ser un buen estadounidense?

El asesinato de Jordan Neely y el problema del racismo “patriótico”

[Alerta de activación: este ensayo incluye capturas de pantalla de personas que elogiaron al asesino de Jordan Neely.] Los funcionarios encargados de hacer cumplir la ley finalmente, y quizás a regañadientes, acusaron a Daniel Penny, el hombre que estranguló a Jordan Neely hasta que murió, por ese homicidio.

Búsqueda de información sobre nombres de dominio

Un extracto de Small, Sharp Software Tools de Brian P. Hogan

Búsqueda de información sobre nombres de dominio

Cuando realiza una solicitud a facebook.com, su computadora busca el nombre de dominio para traducir ese nombre de dominio en una dirección IP para que su computadora pueda hacer esa conexión.