我试图通过它的转置(1乘3)乘以向量(3乘1).我得到一个(3乘3)阵列,但我不能得到它的逆.知道为什么吗?
import numpy as np
c=array([1, 8, 50])
np.transpose(c[np.newaxis]) * c
array([[ 1, 8, 50],
[ 8, 64, 400],
[ 50, 400, 2500]])
np.linalg.inv(np.transpose(c[np.newaxis]) * c)
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "C:\Python26\lib\site-packages\numpy\linalg\linalg.py", line 445, in inv
return wrap(solve(a, identity(a.shape[0], dtype=a.dtype)))
File "C:\Python26\lib\site-packages\numpy\linalg\linalg.py", line 328, in solve
raise LinAlgError, 'Singular matrix'
LinAlgError: Singular matrix
Run Code Online (Sandbox Code Playgroud) 我想返回所有表格及其旁边的计数.什么是最快捷的方式?
我知道在Oracle中,您可以执行类似下面的操作,但不确定Sybase:
declare n number;
begin
for rec in (select object_name from user_objects where object_type='TABLE')
loop
execute immediate 'select count(*) from '||rec.object_name into n;
dbms_output.put_line (rec.object_name||':'||n);
end loop;
end;
Run Code Online (Sandbox Code Playgroud) 初始方形矩阵如下所示:
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 0.00000000 -0.03071266 -0.05202358 -0.06372259 -0.07458787 -0.09827112
[2,] 0.03071266 0.00000000 -0.02131092 -0.03300993 -0.04387521 -0.06755846
[3,] 0.05202358 0.02131092 0.00000000 -0.01169902 -0.02256430 -0.04624754
[4,] 0.06372259 0.03300993 0.01169902 0.00000000 -0.01086528 -0.03454853
[5,] 0.07458787 0.04387521 0.02256430 0.01086528 0.00000000 -0.02368325
[6,] 0.09827112 0.06755846 0.04624754 0.03454853 0.02368325 0.00000000
[7,] 0.13357242 0.10285976 0.08154884 0.06984982 0.05898454 0.03530130
[8,] 0.16375877 0.13304611 0.11173519 0.10003618 0.08917089 0.06548765
[,7] [,8]
[1,] -0.13357242 -0.16375877
[2,] -0.10285976 -0.13304611
[3,] -0.08154884 -0.11173519
[4,] -0.06984982 -0.10003618
[5,] -0.05898454 -0.08917089 …Run Code Online (Sandbox Code Playgroud) 我试图用一个斜杠"/"替换多个正斜杠"//".
你会怎么做?
另外,你如何用"fgh/vbn"取代"asd/qwe/zxc"?
我可以使用下面的一半做到这一点.但是如何在搜索字符串或替换字符串中使用正斜杠.
:%s/asd.qwe.zxc/fgh/g
Run Code Online (Sandbox Code Playgroud) 有没有办法调用shell脚本并使用python脚本中定义的函数/变量?
脚本是 unix_shell.sh
#!/bin/bash
function foo
{
...
}
Run Code Online (Sandbox Code Playgroud)
是否可以从python调用这个函数foo?
解决方案:
对于 shell 局部变量(非导出),在 shell 中运行此命令,就在调用 python 脚本之前:
export $(set | tr '\n' ' ')
对于 shell 全局变量(从 shell 导出),在 python 中,您可以: import os print os.environ["VAR1"]
我们可以绘制如下框图:
qplot(factor(cyl), mpg, data = mtcars, geom = "boxplot")
Run Code Online (Sandbox Code Playgroud)
并指向:
qplot(factor(cyl), mpg, data = mtcars, geom = "point")
Run Code Online (Sandbox Code Playgroud)
你如何将两者结合起来 - 但只是为了wt在盒子顶部显示一些特定点(比如何时小于2)?
import numpy as np
import networkx as nx
import matplotlib.pyplot as plt
%matplotlib inline
a = np.reshape(np.random.random_integers(0,1,size=25),(5,5)) # random 5,5 numpy-array
np.fill_diagonal(a,0) # remove self-loops
print "np-array: \n" + str(a)
D = nx.DiGraph(a) # create directional graph from numpy array
weighted_edges = dict(zip(D.edges(),np.random.randint(1,10,size=len(D.edges())))) # assign random weights to each edge
edge_tuple_list = [(key[0],key[1],value) for key,value in zip(weighted_edges.keys(),weighted_edges.values())]
D.add_weighted_edges_from(edge_tuple_list) #convert to list of edge tuples and add to the graph
nx.draw(D,with_labels=True,pos=nx.spring_layout(D),node_size=700) #draw the graph
nx.draw_networkx_edge_labels(D,pos=nx.spring_layout(D),edge_labels=nx.get_edge_attributes(D,'weight')) #add edge labels
Run Code Online (Sandbox Code Playgroud)
产生下面的图像。如何纠正边缘标签的位置?