如何解决DataFrames Python 的 DataFrame
{
"timezone": "UTC","serverTime": 1565246363776,"rateLimits": […… ],"exchangeFilters": [….. ],"symbols": [
{
"symbol": "ETHBTC","status": "TradING","baseAsset": "ETH","baseAssetPrecision": 8,"quoteAsset": "BTC","quotePrecision": 8,"quoteAssetPrecision": 8,"baseCommissionPrecision": 8,"quoteCommissionPrecision": 8,"filters": [
{"filterType": "PRICE_FILTER","minPrice": "0.00000100","maxPrice": "100000.00000000","tickSize": "0.00000100"},{"filterType": "PERCENT_PRICE","multiplierUp": "1.3000","multiplierDown": "0.7000","avgPriceMins": 5}
{"filterType": "LOT_SIZE","minQty": "0.00100000","maxQty": "100000.00000000","stepSize": “0.00100000"}]
}
我已将 Json 文件中的“符号”转换为 DataFrame:
with open('exchangeInfo.json','r') as fp:
exchangeInfo = json.load(fp)
symbolsDF = pd.DataFrame(client.get_exchange_info(['symbols'])
我想将“过滤器”列从“符号”转换为这样的列
"symbols": [
{
"symbol": "ETHBTC","tickSize": "0.00000100","stepSize": "0.00100000"}]
}
所以我的最终 DataFrame 将由符号组成,列将是
["symbol","status","baseAsset","baseAssetPrecision","quoteAsset","quotePrecision","quoteAssetPrecision","baseCommissionPrecision","quoteCommissionPrecision","minPrice","maxPrice","tickSize","minQty","maxQty","stepSize"]
谢谢
解决方法
试试:
/ (containing the project)
/src/ (containing the JS)
/static/ (containing the static files)
打印:
exchangeInfo = {
"timezone": "UTC","serverTime": 1565246363776,"rateLimits": [],"exchangeFilters": [],"symbols": [
{
"symbol": "ETHBTC","status": "TRADING","baseAsset": "ETH","baseAssetPrecision": 8,"quoteAsset": "BTC","quotePrecision": 8,"quoteAssetPrecision": 8,"baseCommissionPrecision": 8,"quoteCommissionPrecision": 8,"filters": [
{
"filterType": "PRICE_FILTER","minPrice": "0.00000100","maxPrice": "100000.00000000","tickSize": "0.00000100",},{
"filterType": "PERCENT_PRICE","multiplierUp": "1.3000","multiplierDown": "0.7000","avgPriceMins": 5,{
"filterType": "LOT_SIZE","minQty": "0.00100000","maxQty": "100000.00000000","stepSize": "0.00100000",],}
df = pd.json_normalize(exchangeInfo["symbols"])
df = pd.concat(
[
df,df.pop("filters")
.apply(lambda x: dict(i for d in x for i in d.items()))
.apply(pd.Series),axis=1,).drop(columns="filterType")
print(df)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。