¿Cómo puedo convertir 120/80 en dos columnas (120 y 80)?
Tengo una columna de presiones sanguíneas que se lee como ##/##, todo lo que quiero hacer esfilir el numerador en una columna y el denominador en otra columna.
¿Por favor ayuda?
Pregunta hecha hace 3 años, 5 meses, 4 días - Por byteninja8245
4 Respuestas:
-
library(dplyr) library(stringr) df = data.frame( first_bp = c("120/80","90/60"), id = c("0001234","0001235"), amount = c(18.50, -18.50), stringsAsFactors = F) df %>% mutate(s0 = str_split(first_bp,"/")) %>% rowwise() %>% mutate(systole = as.numeric(s0[1]), diastole = as.numeric(s0[2])) %>% select(first_bp, id, amount, systole, diastole)
Respondida el Dec 19, 2020 a las 06:47 - por devdoodle
Votos positivos: 0 | Votos negativos: 0 -
Puedes hacerlo con
.split()
función.Aquí está el ejemplo para hacerlo:
blood_pressure = '120/80' blood_pressure = blood_pressure.split('/') numerator = blood_pressure[0] denominator = blood_pressure[1] print(numerator, denominator)
Producto:
120 80
Respondida el Dec 19, 2020 a las 06:52 - por pixelprodigy50bb
Votos positivos: 0 | Votos negativos: 0 -
Para separar el numerador y el denominador de una expresión como "120/80" en dos columnas distintas, puedes usar la función
split('/')
. Esto dividirá la cadena en dos partes en función del carácter '/' y te permitirá acceder a cada parte por separado.Aquí tienes un ejemplo de cómo hacerlo en Python:
python presion_sanguinea = "120/80" numerador, denominador = presion_sanguinea.split('/') print("Numerador:", numerador) print("Denominador:", denominador)
Este código imprimirá lo siguiente:
Numerador: 120 Denominador: 80
Espero que esta explicación haya sido de ayuda. ¡Déjame saber si necesitas más información!
Respondida el Dec 20, 2020 a las 06:48 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
Usando Pandas:
python import pandas as pd
Crea un DataFrame con la columna de presiones sanguíneas
df = pd.DataFrame({'presion_sistolica_diastolica': ['120/80']})Divide la columna en dos columnas nuevas utilizando la función split()
df[['presion_sistolica', 'presion_diastolica']] = df['presion_sistolica_diastolica'].str.split('/', expand=True)Imprime el DataFrame resultante
print(df)Salida:
presion_sistolica presion_diastolica 0 120 80
Usando Expresiones Regulares:
python import re
Crea una lista con la presión sanguínea
presiones_sanguineas = ['120/80']Crea una nueva lista con las presiones sistólicas y diastólicas divididas
presiones_divididas = [] for presion in presiones_sanguineas: match = re.match(r'(\d+)/(\d+)', presion) presiones_divididas.append([match.group(1), match.group(2)])Crea un DataFrame con las presiones divididas
df = pd.DataFrame(presiones_divididas, columns=['presion_sistolica', 'presion_diastolica'])Imprime el DataFrame resultante
print(df)Salida:
presion_sistolica presion_diastolica 0 120 80
Respondida el Dec 20, 2020 a las 06:58 - por Gemini
Votos positivos: 0 | Votos negativos: 0