我有一个numpy数组,我想从数组创建一个字典.
更具体地说,我想要一个具有与行对应的键的字典,因此键1应该是第1行的总和.
s1是我的数组,我知道如何得到行的总和但是做numpy.sum(s1[i]),我是行.
我正在考虑创建一个循环,我可以计算行的总和,然后将其添加到字典,但我是编程的新手,所以我不知道如何做到这一点,或者是否可能.
有人有什么建议吗?
编辑
我使用范围函数创建了键值.然后压缩键和阵列.
mydict = dict(zip(keys, s1))
Run Code Online (Sandbox Code Playgroud) 在训练Logistic回归分类器时,出现以下错误:
2016-08-16 20:50:23,833 ERROR [main] optimize.LBFGS (Logger.scala:error(27)) - Failure! Resetting history: breeze.optimize.FirstOrderException: Line search zoom failed
2016-08-16 20:50:24,009 INFO [main] optimize.StrongWolfeLineSearch (Logger.scala:info(11)) - Line search t: 0.9 fval: 0.4515497761131565 rhs: 0.45154977611314895 cdd: 3.4166889881493167E-16
Run Code Online (Sandbox Code Playgroud)
然后程序继续执行一段时间,但随后遇到此错误:
2016-08-16 20:50:24,365 ERROR [main] optimize.LBFGS (Logger.scala:error(27)) - Failure again! Giving up and returning. Maybe the objective is just poorly behaved?
2016-08-16 20:50:24,367 WARN [main] classification.LogisticRegression (Logging.scala:logWarning(66)) - LogisticRegression training finished but the result is not converged because: line search failed!
2016-08-16 20:50:27,143 INFO [main] optimize.StrongWolfeLineSearch (Logger.scala:info(11)) …Run Code Online (Sandbox Code Playgroud) 该脚本在 for 循环中运行,每次迭代调用plt.plot()和循环调用之后plt.show()- 并崩溃(屏幕冻结并需要强制重启)。在崩溃之前或之后没有显示错误消息。IMO,这不是内存问题。
如果我从 shell / PyCharm IDE 运行脚本也是如此。
有趣的点:
我已经尝试在此处、此处和此处跟踪许多其他报告的问题,但均未成功。
MacOS 版本:Mojave 10.14.6
我无法共享代码和数据,但为了轻松重现问题 - 尝试运行以下简单代码:
>>> import matplotlib
>>> matplotlib.use("TkAgg")
>>> from matplotlib import pyplot as plt
>>> plt.plot(range(10))
[<matplotlib.lines.Line2D object at 0x1141069e8>]
>>> plt.show()
Run Code Online (Sandbox Code Playgroud)
Mac 崩溃(冻结并需要重新启动)。
套餐:
matplotlib 3.0.3 py37h54f8f79_0
numpy的1.16.2 py37hacdab7b_0
numpy的基1.16.2 py37h6575580_0
的PyQt 5.9.2 py37h655552a_2
pyqt5 5.13.0 pypi_0的PyPI scikit学习0.20.3 py37h27c97d8_0
SciPy的1.2.1 py37h1410ff5_0
*conda info*
active …Run Code Online (Sandbox Code Playgroud) python ×2
anaconda ×1
apache-spark ×1
arrays ×1
dictionary ×1
macos ×1
matplotlib ×1
numpy ×1
scala ×1