小编Pie*_* GM的帖子

如何计算Scipy中稀疏矩阵的列的方差?

我有一个大,scipy.sparse.csc_matrix并希望将其正常化.即从每个元素中减去列均值并除以列标准差(std)i.

scipy.sparse.csc_matrix有一个.mean()但是有一种有效的方法来计算方差或标准?

python numpy scipy

11
推荐指数
1
解决办法
4123
查看次数

将稀疏矩阵分成两个

问题:如何根据列表中的值将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_posX_neg)也应该是稀疏矩阵,因为它只是将稀疏矩阵拆分开始.

谢谢!

python numpy scipy sparse-matrix

8
推荐指数
1
解决办法
4034
查看次数

如何防止在Python中自动转义特殊字符

我正在编写一个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方式来做到这一点?

python escaping special-characters

8
推荐指数
2
解决办法
3万
查看次数

添加/删除 vtkActor 或切换其可见性是否更好?

我正在编写一个 GUI 来显示vtkUnstructuredGrid包含多个标量和向量的 a 。目的是让用户决定是否要显示颜色图、字形矢量场或仅显示网格本身。

这基本上给了我四个演员:一名用于地图,一名用于字形,一名用于网格,最后一名用于颜色栏。根据用户的选择,我需要单独显示网格,或者地图和颜色条,或者字形和颜色条。我可以独立准备每个参与者并将它们存储为 GUI 的属性以供以后访问。

我想知道仅渲染用户想要的内容的最有效方法是什么:

  • 根据用例切换每个参与者的可见性(使用.SetVisibility(True/False)),或者

  • 在 . 中添加/删除相应的参与者vtkRenderer

任何见解将不胜感激。

- - 编辑 - -

一个推论是:当vtkRenderer渲染演员时,它会跳过不可见的演员还是渲染它们,然后隐藏它们?

user-interface vtk

6
推荐指数
1
解决办法
3447
查看次数

如何在python中解码无效的json字符串

我想知道是否有办法解码类似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)

其中属性被引用为字符串.

python json python-2.7

6
推荐指数
1
解决办法
4620
查看次数

numpy数组元素系列的格式化字符串

它似乎对我来说微不足道,但我仍然缺少一种有效和"干净"的方式来插入属于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数组和字符串格式的时尚上?

python arrays numpy formatted-text

6
推荐指数
1
解决办法
8128
查看次数

python从列表中的字符串中删除空格

我有一份清单清单.我想从它们中删除前导和尾随空格.该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)

python list

6
推荐指数
3
解决办法
2万
查看次数

对烧瓶主要应用进行单元测试

全部,我正在编写一个烧瓶应用程序,它依赖于flask-principal来管理用户角色.我想编写一些简单的单元测试来检查哪些用户可以访问哪些视图.在pastebin上发布一个代码示例,以避免混乱这篇文章.简而言之,我定义了一些路由,修改了一些路径,以便只有具有适当角色的用户才能访问它们,然后尝试在测试中访问它们.

在粘贴的代码中,test_member并且test_admin_b两者都失败了,抱怨一个PermissionDenied.显然,我没有正确宣布用户; 至少,有关用户角色的信息不在正确的上下文中.

任何有关上下文处理复杂性的帮助或见解都将深受赞赏.

python unit-testing flask flask-principal

6
推荐指数
1
解决办法
2503
查看次数

PyQt:QTableWidget中的Checkbox

我使用以下代码在我的第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.我需要将单击复选框的行添加到列表中..我到底怎么做到这一点?

亲切的问候,

python checkbox pyqt qtablewidget

5
推荐指数
1
解决办法
2万
查看次数

Python:实用的内省

我经常发现自己使用的第三方库 - 包和模块 - 缺乏足够的文档.因此,研究源代码变得至关重要,但也可能是一项有点乏味的任务.我(我猜每个人)使用dir()help()功能开始,最近我开始使用该inspect模块.我想知道您使用什么"方法"来深入编写记录错误的代码以及如何提高这样做的效率.非常感谢.

python introspection

5
推荐指数
1
解决办法
241
查看次数