简体   繁体   English

从 str-list 获取信息

[英]Get info from str-list

My info-resource (binance-api) returns info as string list.我的信息资源 (binance-api) 将信息作为字符串列表返回。 Can you help me and explain how can I take variable 'initialLeverage':你能帮我解释一下我如何获取变量“initialLeverage”吗:

Code代码

def long():
    lever = client.futures_leverage_bracket()
    lever = pd.DataFrame(lever)
    print(lever)
    #vol()

Terminal终端

        symbol                                           brackets
0    SUSHIUSDT  [{'bracket': 1, 'initialLeverage': 25, 'notion...
1      BTSUSDT  [{'bracket': 1, 'initialLeverage': 50, 'notion...
2      INJUSDT  [{'bracket': 1, 'initialLeverage': 25, 'notion...
3      TRXBUSD  [{'bracket': 1, 'initialLeverage': 20, 'notion...
4      ZRXUSDT  [{'bracket': 1, 'initialLeverage': 50, 'notion...
..         ...                                                ...
220  OCEANUSDT  [{'bracket': 1, 'initialLeverage': 50, 'notion...
221  LEVERBUSD  [{'bracket': 1, 'initialLeverage': 20, 'notion...
222    CHZUSDT  [{'bracket': 1, 'initialLeverage': 50, 'notion...
223   DUSKUSDT  [{'bracket': 1, 'initialLeverage': 20, 'notion...
224   CTSIUSDT  [{'bracket': 1, 'initialLeverage': 20, 'notion...

[225 rows x 2 columns]

Endpoint - initialLeverage端点 - 初始杠杆

Thx in advance)提前致谢)

I've tried to convert it to different formats but it is full one string, so it didn't help me我试图将它转换为不同的格式,但它是完整的一个字符串,所以它对我没有帮助

I've also tried to make "double pd" as我也尝试将“double pd”设为

def long():
    lever = client.futures_leverage_bracket()
    lever = pd.DataFrame(lever)
    lev = lever['brackets']
    lev = pd.DataFrame(lev)
    lev = lev['initialLeverage']
    print(lever)
    #vol()

But it doesn't working and returns me KeyError: 'initialLeverage'但它不起作用并返回我KeyError: 'initialLeverage'

you can use a lambda function. This creates a new column in the dataframe x and saves the data in a list.您可以使用 lambda function。这会在 dataframe x 中创建一个新列并将数据保存在列表中。

df['initialLeverage']=df['brackets'].apply(lambda x: [i['initialLeverage'] for i in x])

Details:细节:

#create sample df
df=pd.DataFrame(data={'symbol':['SUSHIUSDT','BTSUSDT'],'brackets':[[{'bracket': 1, 'initialLeverage': 25, 'notion':'abc'}],
                                                                   [{'bracket': 1., 'initialLeverage': 50, 'notion':'foo'}]]})
print(df)
'''
    symbol                          brackets
0   SUSHIUSDT   [{'bracket': 1, 'initialLeverage': 25, 'notion': 'abc'}]
1   BTSUSDT     [{'bracket': 1.0, 'initialLeverage': 50, 'notion': 'foo'}]

'''

df['initialLeverage']=df['brackets'].apply(lambda x: [i['initialLeverage'] for i in x])
print(df)

'''

    symbol                  brackets                                      initialLeverage
0   SUSHIUSDT   [{'bracket': 1, 'initialLeverage': 25, 'notion': 'abc'}]    [25]
1   BTSUSDT     [{'bracket': 1.0, 'initialLeverage': 50, 'notion': 'foo'}]  [50]

'''
#if initialLeverage is always single value.
df['initialLeverage']=df['brackets'].apply(lambda x: [i['initialLeverage'] for i in x][0])
symbol象征 brackets括号 initialLeverage初始杠杆
0 0 SUSHIUSDT寿司USDT [{'bracket': 1, 'initialLeverage': 25, 'notion': 'abc'}] [{'bracket': 1, 'initialLeverage': 25, 'notion': 'abc'}] 25 25
1 1个 BTSUSDT BTSUSDT [{'bracket': 1.0, 'initialLeverage': 50, 'notion': 'foo'}] [{'bracket': 1.0, 'initialLeverage': 50, 'notion': 'foo'}] 50 50

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM