我有一个整数,我知道它在0到15之间,即可以用4位表示.我想将该数组的位表示作为布尔数组,即
0: [False, False, False, False],
1: [True, False, False, False],
2: [False, True, False, False],
# [...]
15: [True, True, True, True]
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到最好?
要从sympy表达式中获取所有变量,可以调用.free_symbols该表达式。我想检索表达式中使用的所有函数。例如,从y在
from sympy import *
f = Function('f')
g = Function('g')
x = Symbol('x')
y = f(x) + 2*g(x)
Run Code Online (Sandbox Code Playgroud)
我想得到f和g。
有什么提示吗?
我想自动测试一组仍然完全适用于(更新的)代码库的补丁。为此,我打算跑
patch -p 1 < path/to/patch0.patch
Run Code Online (Sandbox Code Playgroud)
对于所有补丁patch*.patch,检查此命令的返回码,并将其存储在某处。不幸的是,patch在某些情况下似乎可以交互工作。需要交互的典型输出是
can't find file to patch at input line 44
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: foo/docs/faq.html
|===================================================================
|--- foo.orig/docs/faq.html
|+++ foo/docs/faq.html
--------------------------
File to patch:
Run Code Online (Sandbox Code Playgroud)
有没有办法patch非交互式运行?(也许patch不是这里任务的正确工具。)
我有一个(大)数据数组和(一些)索引列表的(大)列表,例如,
data = [1.0, 10.0, 100.0]
contribs = [[1, 2], [0], [0, 1]]
Run Code Online (Sandbox Code Playgroud)
对于每个条目contribs,我想总结相应的值data并将它们放入一个数组中.对于上面的例子,预期的结果是
out = [110.0, 1.0, 11.0]
Run Code Online (Sandbox Code Playgroud)
在循环中执行此操作,
c = numpy.zeros(len(contribs))
for k, indices in enumerate(contribs):
for idx in indices:
c[k] += data[idx]
Run Code Online (Sandbox Code Playgroud)
但由于data而且contribs规模很大,所以需要太长时间.
我觉得使用numpy的花式索引可以改善这一点.
任何提示?
我有一个2D NumPy数组a和一个list/set/1D NumPy数组b.我想找到那些a包含任何一行的行b,即
import numpy as np
a = np.array([
[1, 2, 3],
[4, 5, 3],
[0, 1, 0]
])
b = np.array([1, 2])
# result: [True, False, True]
Run Code Online (Sandbox Code Playgroud)
任何提示?
我正在尝试尽快计算许多 3x1 向量对的叉积。这
\n\n\n\nn = 10000\na = np.random.rand(n, 3)\nb = np.random.rand(n, 3)\nnumpy.cross(a, b)\nRun Code Online (Sandbox Code Playgroud)\n\n给出了正确的答案,但受到类似问题的答案的启发,我认为这einsum会让我有所收获。我发现两者
eijk = np.zeros((3, 3, 3))\neijk[0, 1, 2] = eijk[1, 2, 0] = eijk[2, 0, 1] = 1\neijk[0, 2, 1] = eijk[2, 1, 0] = eijk[1, 0, 2] = -1\n\nnp.einsum(\'ijk,aj,ak->ai\', eijk, a, b)\nnp.einsum(\'iak,ak->ai\', np.einsum(\'ijk,aj->iak\', eijk, a), b)\nRun Code Online (Sandbox Code Playgroud)\n\n计算叉积,但它们的性能令人失望:两种方法的性能都比np.cross:
%timeit np.cross(a, b)\n1000 loops, best of 3: 628 \xc2\xb5s per loop\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n%timeit np.einsum(\'ijk,aj,ak->ai\', eijk, a, b)\n100 loops, …Run Code Online (Sandbox Code Playgroud) 我维护了一个小小的Python包,该包可以在用于网格表示的不同格式之间进行转换
这些文件可能会变得很大,因此在使用Python读取文件时,有效地执行操作非常重要。
其中一个最常用的格式是MSH从GMSH。不幸的是,它的数据布局可以说不是最好的。一个示例文件:
$MeshFormat
2.2 0 8
$EndMeshFormat
$Nodes
8
1 -0.5 -0.5 -0.5
2 0.5 -0.5 -0.5
3 -0.5 0.5 -0.5
4 0.5 0.5 -0.5
5 -0.5 -0.5 0.5
6 0.5 -0.5 0.5
7 -0.5 0.5 0.5
8 0.5 0.5 0.5
$EndNodes
$Elements
2
1 4 2 1 11 1 2 3 5
2 4 2 1 11 2 5 6 8
$EndElements
Run Code Online (Sandbox Code Playgroud)
对于$Nodes:
第一个数字(8)是要跟随的节点数。
在每个节点行中,第一个数字是索引 …
我有一个带有目录结构的小 Python2/3 项目
superproject/
-> __init__.py
-> meta.py
setup.py
Run Code Online (Sandbox Code Playgroud)
该__init__.py文件包含一堆imports和实际代码,meta有
__author__ = 'John Doe'
__author_email__ = 'john@doe.com'
__version__ = '1.2.3'
# [...]
Run Code Online (Sandbox Code Playgroud)
我想让元信息在 setup.py(简单:只是import superproject.meta)和superprojectas
import superproject
print(superproject.__version__)
Run Code Online (Sandbox Code Playgroud)
我正在为后一个要求而苦苦挣扎。做的时候
from .meta import *
Run Code Online (Sandbox Code Playgroud)
在__init__.py,我只能做
print(superproject.meta.__version__)
Run Code Online (Sandbox Code Playgroud)
例如。
请注意,我不能__init__.py直接将元信息放入,因为我必须import superproject放入setup.py,而且 的众多import依赖项superproject当时尚不可用。
任何提示?
我正在尝试使 SVG 颜色与 GitHub 自述文件中周围文本的颜色相匹配。(如果将文本设置为"fill=black",则在 GitHub 的深色模式下几乎看不到。)
从这里,我认为我可以使用
fill="currentColor"
Run Code Online (Sandbox Code Playgroud)
获取color最近(周围)CSS 元素的属性。我尝试使用显示简单圆圈的 SVG:
fill="currentColor"
Run Code Online (Sandbox Code Playgroud)
SVG 嵌入在 README 中,如下所示
<p align="center">
<img src="https://nschloe.github.io/smoothfit/disk.svg" width="60%">
</p>
Run Code Online (Sandbox Code Playgroud)
但是,填充颜色始终显示为黑色。
(从这里)。
知道出了什么问题吗?
我有一个很长的 NumPy 数组,我需要将其组织为“模式”,如下所示:
import numpy as np
# long array:
a = np.array(
[
1.3,
-1.8,
0.3,
11.4,
# ...
]
)
def pattern(x: float):
return np.array(
[
[x, 0, 0],
[0, x, 0],
[0, 0, x],
[+x, +x, +x],
[-x, -x, -x],
]
)
out = np.array([pattern(x) for x in a])
print(out.shape)
Run Code Online (Sandbox Code Playgroud)
(4, 5, 3)
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一种方法可以在out 不显式循环的情况下进行构造a。
有任何想法吗?