我下载并一直尝试运行以下程序包:https://pypi.org/project/ecomplexity/#description
也可以在github上找到:https://github.com/cid-harvard/py-ecomplexity
自述页面有一个代码应该如何工作的示例,如下所示:
from ecomplexity import ecomplexity
from ecomplexity import proximity
# Import trade data from CID Atlas
data_url = "https://intl-atlas-downloads.s3.amazonaws.com/country_hsproduct2digit_year.csv.zip"
data = pd.read_csv(data_url, compression="zip", low_memory=False)
data = data[['year','location_code','hs_product_code','export_value']]
# Calculate complexity
trade_cols = {'time':'year', 'loc':'location_code', 'prod':'hs_product_code', 'val':'export_value'}
cdata = ecomplexity(data, trade_cols)
# Calculate proximity matrix
prox_df = proximity(data, trade_cols)
我添加了import pandas as pd
,以便可以读取.csv文件并添加print(prox_df)
以提供第二个函数的结果。我期望第二个函数生成一个值矩阵,其中元素是来自任何位置的任意两个乘积的最小条件概率。
但是,当从自述页面运行此示例时,出现以下错误:
Traceback (most recent call last):
File "filepath/project.py", line 16, in <module>
prox_df = proximity(data, trade_cols)
File "filepath\venv\lib\site-packages\ecomplexity\proximity.py", line 79, in proximity
output = output.reset_index()
File "filepath\venv\lib\site-packages\pandas\core\frame.py", line 4849, in reset_index
new_obj.insert(0, name, level_values)
File "filepath\venv\lib\site-packages\pandas\core\frame.py", line 3618, in insert
self._mgr.insert(loc, column, value, allow_duplicates=allow_duplicates)
File "filepath\venv\lib\site-packages\pandas\core\internals\managers.py", line 1147, in insert
raise ValueError(f"cannot insert {item}, already exists")
ValueError: cannot insert prod, already exists
是什么导致了这个错误?如何防止发生此错误,以便使用此软件包的“接近”功能
我刚刚尝试了pandas 1.1.0,但失败了,出现了相同的错误消息。然后我降级到熊猫0.25.0,它成功了
<>你应该考虑联系库作者升级到与最新版本的熊猫一起工作。相关问题 更多 >
编程相关推荐