es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Dividiendo un marco de datos/diccionario en la clave-valor de una tupla de diccionario.

Hola, tengo un diccionario que sigue agregando valores en cada intervalo. En este diccionario grande, tengo tuplas como claves en las que el símbolo de la criptomoneda, el intervalo y el nombre de los siguientes valores están en las tuplas.

Ahora se agregarán valores en cada intervalo. En la lista donde la tupla de clave contiene ‘1m’, se agregarán valores cada 1m y en la lista donde la tupla de clave contiene ‘3m’, se agregarán valores cada 3 minutos.

Quiero hacer un dataframe de este diccionario, pero eso se vuelve imposible porque las columnas no tendrán la misma longitud. Así que quería separar estos diccionarios/dataframes en dos separados.

Mi diccionario se ve así:

{ (‘BTCUSDT’, ‘3m’, ‘high’): [60607.54, 60642.85, 60548.8, 60663.06, ‘60672.13000000’],
(‘BTCUSDT’, ‘3m’, ‘low’): [60524.07, 60488.83, 60441.21, 60400.0, ‘60507.84000000’],
(‘BTCUSDT’, ‘3m’, ‘close’): [60556.68, 60500.48, 60470.65, 60636.97, ‘60530.13000000’],
(‘BTCUSDT’, ‘1m’, ‘high’): [60473.25, 60534.04, 60663.06, 60672.13, ‘60624.06000000’, ‘60582.67000000’, ‘60571.22000000’],
(‘BTCUSDT’, ‘1m’, ‘low’): [60400.0, 60434.62, 60520.5, 60600.0, ‘60548.88000000’, ‘60507.84000000’, ‘60530.13000000’],
(‘BTCUSDT’, ‘1m’, ‘close’): [60450.75, 60524.53, 60636.97, 60606.02, ‘60576.00000000’, ‘60530.13000000’, ‘60562.95000000’]}

Quiero separar el diccionario/dataframe en función del valor ‘3m’ o ‘1m’. Así que quiero un diccionario/dataframe con valores ‘1m’ y otro con valores ‘3m’. ¿Alguien sabe cómo puedo separarlos entre sí? ¡Gracias de antemano!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Puedes utilizar el método dict.items() para iterar a través del diccionario y separar los valores basados en el valor '3m' o '1m'. Por ejemplo:


    # Crea dos diccionarios vacíos dict_3m = {} dict_1m = {} # Itera a través del diccionario for key, value in my_dict.items(): # Verifica si la clave contiene '3m' if '3m' in key: # Agrega la clave y el valor al diccionario dict_3m dict_3m[key] = value # Verifica si la clave contiene '1m' elif '1m' in key: # Agrega la clave y el valor al diccionario dict_1m dict_1m[key] = value

    Ahora tienes dos diccionarios separados, dict_3m y dict_1m, que contienen los valores para los intervalos '3m' y '1m' respectivamente.

Comments are closed.