Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

238
Vistas
python pandas cambio porcentual con columnas de marco de datos

Acabo de empezar a estudiar pandas y tengo preguntas. En primer lugar, me gustaría preguntar esto.

Tengo marco de datos y es como a continuación.

 Date Open High Low Close 2015-11-02 711.059998 721.619995 705.849976 721.109985 2015-11-03 718.859985 724.650024 714.719971 722.159973 2015-11-04 722.000000 733.099976 721.900024 728.109985 2015-11-05 729.469971 739.479980 729.469971 731.250000 2015-11-06 731.500000 735.409973 727.010010 733.760010

lo sé

 df["Close"].pct_change()

haga el cambio porcentual de Cerrar a Cerrar.

Pero quiero agregar una nueva columna, "CloseToOpen", que es un cambio porcentual de "ayer Close to today Open".

Entonces, es "Abrir (Día 0) / Cerrar (Día -1) -1". Por supuesto, la primera fila debe ser "NaN" o cero porque no hay "cierre del día anterior".

¿Cómo puedo hacer esto con el código de Python Pandas?

¡Gracias chicos!

Esto es lo que quiero.

 Date Open High Low Close CloseToOpen 2015-11-02 711.059998 721.619995 705.849976 721.109985 0.000000 2015-11-03 718.859985 724.650024 714.719971 722.159973 -0.003120 2015-11-04 722.000000 733.099976 721.900024 728.109985 -0.000222 2015-11-05 729.469971 739.479980 729.469971 731.250000 0.001868 2015-11-06 731.500000 735.409973 727.010010 733.760010 0.000342
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

También puede usar operandos estándar para lograr lo que quería:

 df['CloseToOpen'] = (df['Open'] / df['Close'].shift(1) - 1).fillna(0)
over 4 years ago · Santiago Trujillo Denunciar

0

Usar:

 df['CloseToOpen'] = df['Open'].sub(df['Close'].shift()).div(df['Close'] - 1).fillna(0) print (df) Open High Low Close CloseToOpen Date 2015-11-02 711.059998 721.619995 705.849976 721.109985 0.000000 2015-11-03 718.859985 724.650024 714.719971 722.159973 -0.003120 2015-11-04 722.000000 733.099976 721.900024 728.109985 -0.000220 2015-11-05 729.469971 739.479980 729.469971 731.250000 0.001862 2015-11-06 731.500000 735.409973 727.010010 733.760010 0.000341
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda