Python 最小生成树问题
我在网上找到了这段代码,但有些部分丢失了。我添加了statsmodels.apiPython 最小生成树问题,python,statsmodels,minimum-spanning-tree,Python,Statsmodels,Minimum Spanning Tree,我在网上找到了这段代码,但有些部分丢失了。我添加了statsmodels.api import requests # for making http requests to binance import json # for parsing what binance sends back to us import pandas as pd # for storing and manipulating the data we get back import
import requests # for making http requests to binance
import json # for parsing what binance sends back to us
import pandas as pd # for storing and manipulating the data we get back
import numpy as np # numerical python, i usually need this somewhere
# and so i import by habit nowadays
import statsmodels.api as sm
import matplotlib.pyplot as plt # for charts and such
import datetime as dt # for dealing with times
def get_bars(symbol, interval = '1h'):
root_url = 'https://api.binance.com/api/v1/klines'
url = root_url + '?symbol=' + symbol + '&interval=' + interval
data = json.loads(requests.get(url).text)
df = pd.DataFrame(data)
df.columns = ['open_time',
'o', 'h', 'l', 'c', 'v',
'close_time', 'qav', 'num_trades',
'taker_base_vol', 'taker_quote_vol', 'ignore']
df.index = [dt.datetime.fromtimestamp(x/1000.0) for x in df.close_time]
return df
symbols =
json.loads(requests.get("https://api.binance.com/api/v1/exchangeInfo").text)
symbols = [symbol['symbol'] for symbol in symbols['symbols'] if
symbol['quoteAsset'] == 'ETH']
ethusdt = get_bars('ETHUSDT')
price_data = []
new_symbols = []
for symbol in symbols:
print(symbol)
data = get_bars(symbol)
new_symbols.append(symbol.replace('ETH','USDT'))
price_data.append(data['c'].astype('float') *
ethusdt['c'].astype('float'))
combo = pd.concat(price_data, axis = 1)
combo.columns = new_symbols
mst = sm.MinimumSpanningTree(dataset = np.log(combo).diff().T)
当运行代码时,我得到了这个错误。这里有什么问题
mst = sm.MinimumSpanningTree(dataset = np.log(combo).diff().T)
AttributeError: module 'statsmodels.api' has no attribute 'MinimumSpanningTree'
我安装了statsmodels并从运行解决方案以查找树。我还在我的安装区域中对包进行了目录搜索,然后列出了包含的所有文件;文件名或内容中唯一包含“tree”的文件是
sandbox/regression/treewalkerclass.py
我暂时得出结论,在当前版本(0.9.0)的
statsmodels
中确实没有这样的属性,正如我在statsmodels
文档中所能找到的那样,没有名为MinimumSpanningTree
的类或方法。你从哪里知道这个包有一个呢?我自己找不到,但它包含在代码中。我猜在代码示例中,sm
没有提到statsmodels
。statsmodels没有任何图形函数或类。在您的帖子中,sm引用了一个第三方api,该api实现了开箱即用的最小生成树图(SliceM******-您需要支付api密钥才能使用其服务)。您是否找到其他现成的解决方案,用于根据每日回报生成/显示最小生成树?我现在很懒,正在找一个;)如何将数据下载为csv文件?请参阅Pythoncsv
包?