小编Fre*_*Foo的帖子

如何将新行添加到空的numpy数组中

使用标准Python数组,我可以执行以下操作:

arr = []
arr.append([1,2,3])
arr.append([4,5,6])
# arr is now [[1,2,3],[4,5,6]]
Run Code Online (Sandbox Code Playgroud)

但是,我不能在numpy做同样的事情.例如:

arr = np.array([])
arr = np.append(arr, np.array([1,2,3]))
arr = np.append(arr, np.array([4,5,6]))
# arr is now [1,2,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)

我也研究过vstack,但是当我vstack在一个空阵列上使用时,我得到:

ValueError: all the input array dimensions except for the concatenation axis must match exactly
Run Code Online (Sandbox Code Playgroud)

那么如何在numpy中向空数组添加一个新行呢?

python numpy scipy

129
推荐指数
3
解决办法
19万
查看次数

快速检查NumPy中的NaN

我正在寻找检查np.nanNumPy数组中NaN()出现的最快方法X.np.isnan(X)是不可能的,因为它构建了一个布尔形状的数组X.shape,这可能是巨大的.

我试过了np.nan in X,但这似乎不起作用,因为np.nan != np.nan.有没有一种快速且节省内存的方法来完成这项工作?

(对于那些会问"多么巨大"的人:我说不出来.这是图书馆代码的输入验证.)

python numpy nan

107
推荐指数
6
解决办法
11万
查看次数

为什么需要.bss段?

我所知道的是全局和静态变量存储在.data段中,未初始化的数据存在于.bss段中.我不明白的是为什么我们有未初始化变量的专用段?如果未初始化的变量在运行时分配了值,那么该变量是否仅存在于.bss段中?

在以下程序中, a是在.data段中,并且b.bss段中; 那是对的吗?如果我的理解是错误的,请纠正我.

#include <stdio.h>
#include <stdlib.h>

int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9};
int b[20]; /* Uninitialized, so in the .bss and will not occupy space for 20 * sizeof (int) */

int main ()
{
   ;
}  
Run Code Online (Sandbox Code Playgroud)

另外,请考虑以下程序,

#include <stdio.h>
#include <stdlib.h>
int var[10];  /* Uninitialized so in .bss */
int main ()
{
   var[0] = 20  /* …
Run Code Online (Sandbox Code Playgroud)

c linux compiler-construction

107
推荐指数
6
解决办法
4万
查看次数

Go中的Pair/tuple数据类型

在做Tour of Go最后一次练习时,我决定需要一对(string,int)对的队列.这很容易:

type job struct {
    url string
    depth int
}

queue := make(chan job)
queue <- job{url, depth}
Run Code Online (Sandbox Code Playgroud)

但这让我想到:Go中是否有内置的对/元组数据类型?支持从函数返回多个值,但是AFAICT,生成的多个值元组不是Go类型系统中的一等公民.是这样的吗?

至于"你有什么尝试"部分,明显的语法(来自Python程序员的POV)

queue := make(chan (string, int))
Run Code Online (Sandbox Code Playgroud)

没用.

tuples go

96
推荐指数
4
解决办法
7万
查看次数

如何正确地用"a"和"an"为单词添加前缀?

我有一个.NET应用程序,给定一个名词,我希望它正确地用"a"或"an"作为该单词的前缀.我该怎么办?

在您认为答案是简单地检查第一个字母是否是元音之前,请考虑以下短语:

  • 一个诚实的错误
  • 二手车

c# nlp linguistics

91
推荐指数
7
解决办法
1万
查看次数

boost :: hash_combine中的幻数

所述boost::hash_combine模板函数采用一个散列(称为参考seed)和对象v.根据文档,它结合seedvby 的哈希

seed ^= hash_value(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
Run Code Online (Sandbox Code Playgroud)

我可以看出这是确定性的.我明白为什么要使用XOR.

我敢打赌,这个加法有助于将相似的值广泛分开,因此探测哈希表不会崩溃,但有人可以解释这个神奇常数是什么吗?

c++ algorithm hash boost magic-numbers

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

Python属性如何工作?

我已成功使用Python属性,但我不知道它们是如何工作的.如果我取消引用类之外的属性,我只得到一个类型的对象property:

@property
def hello(): return "Hello, world!"

hello  # <property object at 0x9870a8>
Run Code Online (Sandbox Code Playgroud)

但是如果我在一个类中放置一个属性,那么行为就会大不相同:

class Foo(object):
   @property
   def hello(self): return "Hello, world!"

Foo().hello # 'Hello, world!'
Run Code Online (Sandbox Code Playgroud)

我注意到unbound Foo.hello仍然是property对象,所以类实例化必须做出魔法,但那有什么神奇之处呢?

python properties

72
推荐指数
3
解决办法
4万
查看次数

连接Numpy数组而不复制

在Numpy中,我可以使用np.appendor 连接两个端到端的数组np.concatenate:

>>> X = np.array([[1,2,3]])
>>> Y = np.array([[-1,-2,-3],[4,5,6]])
>>> Z = np.append(X, Y, axis=0)
>>> Z
array([[ 1,  2,  3],
       [-1, -2, -3],
       [ 4,  5,  6]])
Run Code Online (Sandbox Code Playgroud)

但是这些会复制他们的输入数组:

>>> Z[0,:] = 0
>>> Z
array([[ 0,  0,  0],
       [-1, -2, -3],
       [ 4,  5,  6]])
>>> X
array([[1, 2, 3]])
Run Code Online (Sandbox Code Playgroud)

有没有办法将两个数组连接到视图中,即没有复制?那需要一个np.ndarray子类吗?

python numpy multidimensional-array

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

将std :: string转换为QString

std::string content知道包含UTF-8数据.我想把它转换为QString.我该怎么做,避免Qt中的from-ASCII转换?

c++ string qstring qt utf-8

67
推荐指数
4
解决办法
7万
查看次数

Python 3 string.join()等价?

我一直在python 2中使用string.join()方法,但它似乎已经在python 3中被删除了.在python 3中有什么等效方法?

string.join()方法让我在每个其他字符串之间将多个字符串与字符串组合在一起.例如,string.join(("a","b","c"),".")将导致"abc".

python string methods python-3.x

66
推荐指数
3
解决办法
11万
查看次数