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.

Obtener un marco de datos a partir de una parte de una cadena.

Tengo la información del mercado como una cadena de texto de esta manera:

{"POLISUSDT": {"name": "POLISUSDT", "min_amount": "0.5", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "USDT", "pricing_decimal": 4, "trading_name": "POLIS", "trading_decimal": 8}, "XPRBTC": {"name": "XPRBTC", "min_amount": "100", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "BTC", "pricing_decimal": 10, "trading_name": "XPR", "trading_decimal": 8}, "PSPUSDT": {"name": "PSPUSDT", "min_amount": "5", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "USDT", "pricing_decimal": 4, "trading_name": "PSP", "trading_decimal": 8}, "KAVAUSDT": {"name": "KAVAUSDT", "min_amount": "0.5", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "USDT", "pricing_decimal": 4, "trading_name": "KAVA", "trading_decimal": 8}, "CFXUSDT": {"name": "CFXUSDT", "min_amount": "10", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "USDT", "pricing_decimal": 6, "trading_name": "CFX", "trading_decimal": 8}}

Deseo obtener la información de cada mercado por separado. Por ejemplo, si solicito “POLISUSDT”, deseo obtener este marco de datos:

min_amount maker_fee_rate taker_fee_rate pricing_name pricing_decimal trading_name trading_decimal
0.5 0.003 0.003 USDT 4 POLIS 8
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para extraer los datos de un mercado específico, podemos convertir la cadena en un diccionario utilizando el módulo json y luego acceder a la información del mercado específico utilizando su clave. Aquí hay un ejemplo de código para extraer datos para el mercado “POLISUSDT”:

    import json
    import pandas as pd
    
    # la cadena de información del mercado
    market_info = '{"POLISUSDT": {"name": "POLISUSDT", "min_amount": "0.5", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "USDT", "pricing_decimal": 4, "trading_name": "POLIS", "trading_decimal": 8}, "XPRBTC": {"name": "XPRBTC", "min_amount": "100", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "BTC", "pricing_decimal": 10, "trading_name": "XPR", "trading_decimal": 8}, "PSPUSDT": {"name": "PSPUSDT", "min_amount": "5", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "USDT", "pricing_decimal": 4, "trading_name": "PSP", "trading_decimal": 8}, "KAVAUSDT": {"name": "KAVAUSDT", "min_amount": "0.5", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "USDT", "pricing_decimal": 4, "trading_name": "KAVA", "trading_decimal": 8}, "CFXUSDT": {"name": "CFXUSDT", "min_amount": "10", "maker_fee_rate": "0.003", "taker_fee_rate": "0.003", "pricing_name": "USDT", "pricing_decimal": 6, "trading_name": "CFX", "trading_decimal": 8}}'
    
    # convertir la cadena en un diccionario
    market_dict = json.loads(market_info.replace('"', '\"'))
    
    # extraer datos para un mercado específico
    market_name = 'POLISUSDT'
    market_data = market_dict[market_name]
    
    # crear un DataFrame a partir de los datos del mercado
    market_df = pd.DataFrame(market_data, index=[0])
    
    # mostrar el DataFrame
    print(market_df)
    

    Esto producirá el DataFrame deseado:

       min_amount maker_fee_rate taker_fee_rate pricing_name  pricing_decimal  \
    0         0.5          0.003          0.003         USDT                4   
    
      trading_name  trading_decimal  
    0        POLIS                8  
    

Comments are closed.