我有一个大,scipy.sparse.csc_matrix并希望将其正常化.即从每个元素中减去列均值并除以列标准差(std)i.
scipy.sparse.csc_matrix有一个.mean()但是有一种有效的方法来计算方差或标准?
问题:如何根据列表中的值将1个稀疏矩阵拆分为2?
也就是说,我有一个稀疏矩阵X:
>>print type(X)
<class 'scipy.sparse.csr.csr_matrix'>
Run Code Online (Sandbox Code Playgroud)
我在脑海中将其视为列表列表,如下所示:
>>print X.todense()
[[1,3,4]
[3,2,2]
[4,8,1]]
Run Code Online (Sandbox Code Playgroud)
我有一个如下所示的列表y:
y = [-1,
3,
-4]
Run Code Online (Sandbox Code Playgroud)
我如何X分成两个稀疏矩阵,取决于相应的值y是正还是负?例如,我怎样才能得到:
>>print X_pos.todense()
[[3,2,2]]
>>print X_neg.todense()
[[1,3,4]
[4,8,1]]
Run Code Online (Sandbox Code Playgroud)
结果(X_pos和X_neg)也应该是稀疏矩阵,因为它只是将稀疏矩阵拆分开始.
谢谢!
我正在编写一个Python脚本,它接受文件路径作为字符串,解析它们,附加一个命令名,然后构建一个列表,然后传递给它subprocess.Popen()执行.此脚本用于处理Unix和Windows文件路径,最终应在两个系统上运行.
当我在Unix下运行时,如果我给出一个无意中包含转义字符的Windows路径(例如\Users\Administrator\bin),Python会将嵌入式解释\b为退格字符.我想防止这种情况发生.
据我所知,没有函数或方法将字符串变量表示为原始字符串.该'r'修饰符仅适用于字符串常量.
到目前为止,我能得到的最接近的是:
winpath = "C:\Users\Administrator\bin"
winpath = winpath.replace('\b','\\b')
winpathlist = winpath.split('\\')
Run Code Online (Sandbox Code Playgroud)
此时,winpathlist应该包含['C:','Users','Administrator','bin'],而不是['C','Users','Administrator\x08in'].
我可以添加额外的呼叫winpath.replace()处理等逃跑我可能会- ,\a,\f,\n,,\r -但不是.\t\v\x
是否有更多的pythonic方式来做到这一点?
我正在编写一个 GUI 来显示vtkUnstructuredGrid包含多个标量和向量的 a 。目的是让用户决定是否要显示颜色图、字形矢量场或仅显示网格本身。
这基本上给了我四个演员:一名用于地图,一名用于字形,一名用于网格,最后一名用于颜色栏。根据用户的选择,我需要单独显示网格,或者地图和颜色条,或者字形和颜色条。我可以独立准备每个参与者并将它们存储为 GUI 的属性以供以后访问。
我想知道仅渲染用户想要的内容的最有效方法是什么:
根据用例切换每个参与者的可见性(使用.SetVisibility(True/False)),或者
在 . 中添加/删除相应的参与者vtkRenderer。
任何见解将不胜感激。
- - 编辑 - -
一个推论是:当vtkRenderer渲染演员时,它会跳过不可见的演员还是渲染它们,然后隐藏它们?
我想知道是否有办法解码类似JSON的字符串.
我有字符串:
'{ hotel: { id: "123", name: "hotel_name"} }'
Run Code Online (Sandbox Code Playgroud)
它不是有效的JSON字符串,因此我无法使用python API直接对其进行解码.Python只接受字符串化的JSON字符串,如:
'{ "hotel": { "id": "123", "name": "hotel_name"} }'
Run Code Online (Sandbox Code Playgroud)
其中属性被引用为字符串.
它似乎对我来说微不足道,但我仍然缺少一种有效和"干净"的方式来插入属于numpy数组(as aa[:,:])的一系列元素在一个格式化的字符串中进行打印/写入.事实上,扩展的逐元素规范语法如下:
formattedline= '%10.6f %10.6f %10.6f' % (aa[ii,0], aa[ii,1], aa[ii,2])
file1.write(formattedline+'\n')
Run Code Online (Sandbox Code Playgroud)
在工作中.
但我还没有找到任何其他更短的解决方案,因为:
formattedline= '%10.6f %10.6f %10.6f' % (float(aa[ii,:]))
file1.write(formattedline+'\n')
Run Code Online (Sandbox Code Playgroud)
当然给出: TypeError: only length-1 arrays can be converted to Python scalars
要么:
formattedline= '%10.6f %10.6f %10.6f' % (aa[ii,:])
file1.write(formattedline+'\n')
Run Code Online (Sandbox Code Playgroud)
给:TypeError: float argument required, not numpy.ndarray.我尝试过迭代器,但没有成功.
当然,当要打印几个元素时,这很有趣.
那么:我怎样才能将迭代结合在numpy数组和字符串格式的时尚上?
我有一份清单清单.我想从它们中删除前导和尾随空格.该strip()方法返回不带前导和尾随空格的字符串副本.单独调用该方法不会进行更改.通过这个实现,我得到了一个'array index out of bounds error'.在我看来,列表中的每个列表(0-len(网络)-1)和"ay"对于这些列表中的每个字符串都会有"一个x"(0-len(networks [x])又名我和j应该准确地映射到合法的,索引而不是超出范围?
i = 0
j = 0
for x in networks:
for y in x:
networks[i][j] = y.strip()
j = j + 1
i = i + 1
Run Code Online (Sandbox Code Playgroud) 全部,我正在编写一个烧瓶应用程序,它依赖于flask-principal来管理用户角色.我想编写一些简单的单元测试来检查哪些用户可以访问哪些视图.在pastebin上发布了一个代码示例,以避免混乱这篇文章.简而言之,我定义了一些路由,修改了一些路径,以便只有具有适当角色的用户才能访问它们,然后尝试在测试中访问它们.
在粘贴的代码中,test_member并且test_admin_b两者都失败了,抱怨一个PermissionDenied.显然,我没有正确宣布用户; 至少,有关用户角色的信息不在正确的上下文中.
任何有关上下文处理复杂性的帮助或见解都将深受赞赏.
我使用以下代码在我的第9列中放置一个复选框 QTableWidget
chkBoxItem = QtGui.QTableWidgetItem()
chkBoxItem.setFlags(QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled)
chkBoxItem.setCheckState(QtCore.Qt.Unchecked)
table.setItem(rowNo,9,chkBoxItem)
Run Code Online (Sandbox Code Playgroud)
哪里table是我的QtTableWidget.我需要将单击复选框的行添加到列表中..我到底怎么做到这一点?
亲切的问候,
我经常发现自己使用的第三方库 - 包和模块 - 缺乏足够的文档.因此,研究源代码变得至关重要,但也可能是一项有点乏味的任务.我(我猜每个人)使用dir()和help()功能开始,最近我开始使用该inspect模块.我想知道您使用什么"方法"来深入编写记录错误的代码以及如何提高这样做的效率.非常感谢.
python ×9
numpy ×3
scipy ×2
arrays ×1
checkbox ×1
escaping ×1
flask ×1
json ×1
list ×1
pyqt ×1
python-2.7 ×1
qtablewidget ×1
unit-testing ×1
vtk ×1