My info-resource (binance-api) returns info as string list. Can you help me and explain how can I take variable '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
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'
you can use a lambda function. This creates a new column in the dataframe x and saves the data in a list.
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 | SUSHIUSDT | [{'bracket': 1, 'initialLeverage': 25, 'notion': 'abc'}] | 25 |
1 | BTSUSDT | [{'bracket': 1.0, 'initialLeverage': 50, 'notion': 'foo'}] | 50 |