小编Ale*_*ley的帖子

NumPy:对矩阵的每 n 列求和

我想对矩阵的每 n 列求和。如何在不使用 for 循环的情况下以简单的方式做到这一点?这就是我现在所拥有的:

n = 3  #size of a block we need to sum over
total = 4  #total required sums
ncols = n*total
nrows = 10
x = np.array([np.arange(ncols)]*nrows)

result = np.empty((total,nrows))
for i in range(total):
    result[:,i] =  np.sum(x[:,n*i:n*(i+1)],axis=1)
Run Code Online (Sandbox Code Playgroud)

结果将是

array([[  3.,  12.,  21.,  30.],
       [  3.,  12.,  21.,  30.],
        ...
       [  3.,  12.,  21.,  30.]])
Run Code Online (Sandbox Code Playgroud)

如何矢量化此操作?

python numpy sum matrix vectorization

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

怎么能在无限列表上终止?

如果我有takeWhile (<15) [1,3..]这个如何终止?Haskell如何知道列表末尾没有隐藏2个?

一个更好的例子可能是一个sin函数,其中我们的伤口具有无限多的相似值,在15以下将永远重复.

haskell list

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

将列表转换为ID列表

Python 3.3:

从列表中获取最简单的方法是什么:

input = ["A", 112, "apple", 74, 112]
Run Code Online (Sandbox Code Playgroud)

以下列表:

output = [0, 1, 2, 3, 1]
Run Code Online (Sandbox Code Playgroud)

也就是说,分配从0开始自动递增的id到每个唯一条目,并将原始列表转换为此id的列表.

我知道,我可以获得便宜的课程数量

number_of_classes = len(set(input))
Run Code Online (Sandbox Code Playgroud)

但是如何创建正确有序的输出?

python list python-3.x

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

将向量组合为numpy中的列矩阵

我有 3 个向量,如下所示:

a = np.ones(20)
b = np.zeros(20)
c = np.ones(20)
Run Code Online (Sandbox Code Playgroud)

我试图将它们组合成一个尺寸为 20x3 的矩阵。

目前我正在做:

n1 = np.vstack((a,b))
n2 = np.vstack((n1,c)).T
Run Code Online (Sandbox Code Playgroud)

这有效,但没有办法以列方式用数组填充矩阵吗?

python numpy matrix

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

numpy fromstring空字符串分隔符

当我打电话时:

np.fromstring('3 3 3 0', sep=' ')
Run Code Online (Sandbox Code Playgroud)

它返回

array([ 3.,  3.,  3.,  0.])
Run Code Online (Sandbox Code Playgroud)

由于默认为,sep=''我希望以下调用返回相同的结果:

np.fromstring('3330')
Run Code Online (Sandbox Code Playgroud)

但是它引起了

ValueError: string size must be a multiple of element size
Run Code Online (Sandbox Code Playgroud)

为什么是这样?什么是得到的最Python的方式array([ 3., 3., 3., 0.])'3330'

python string numpy

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

反向切片的字符串[x:y:-1]打印为空白

我有代表DNA序列及其补体的字符串,我正在搜索它们的反向回文.

切片

seq1[i:z]
Run Code Online (Sandbox Code Playgroud)

效果很好,但是

seq2[i:z:-1]
Run Code Online (Sandbox Code Playgroud)

什么都不打印,什么都不返

此外,seq[i:z][::-1]在所有情况下都可以正常工作,但这对于字符串切片是否正常?

python string slice

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

如何使用Python将123456789拆分为单个数字?

你如何将数字123456789分成[1,2,3,4,5,6,7,8,9]使用Python?

python split python-2.7

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

从第二个列表中减去第一个列表中的元素

假设我有两个列表:full_links &href_links

我想删除href_links包含重复值的值full_links

例如:

full_links = [ 1,2,3,4,5]
href_links = [ 1,2,7,8,9,3]
Run Code Online (Sandbox Code Playgroud)

所以,输出应该是:

comb_list = [7,8,9]
Run Code Online (Sandbox Code Playgroud)

我的代码是:

comb_list = list(set(full_links) - set(href_links))
Run Code Online (Sandbox Code Playgroud)

但它没有用.

python list python-3.x

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

矩阵列中的最小元素

我需要找到列中具有最大列总和的所有元素的最小值.我做了以下事情:

创建随机矩阵

from numpy import *
a = random.rand(5,4)
Run Code Online (Sandbox Code Playgroud)

然后计算每列的总和并找到最大元素的索引

c = a.sum(axis=0)
d = argmax(c)
Run Code Online (Sandbox Code Playgroud)

然后我尝试在这一列中找到最小数字,但我的语法非常糟糕,我知道如何在当前索引的行中找到最小元素.

e = min(a[d])
Run Code Online (Sandbox Code Playgroud)

但是如何更改列?

python numpy matrix minimum

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

从词典中选择值以创建新的DataFrame列

我有一本字典

type_dict = {3: 'foo', 4: 'bar',5: 'foobar', 6: 'foobarbar'}
Run Code Online (Sandbox Code Playgroud)

和一个包含以下列的DataFrame:

>>> df.type
0     3
1     4
2     5
3     6
4     3
5     4
6     5
7     6
8     3
Run Code Online (Sandbox Code Playgroud)

我想创建一个包含相应type_dict值的新列,但以下是我唯一可以提出并且无法正常工作的内容:

>>> type_dict[df.type]
TypeError: 'Series' objects are mutable, thus they cannot be hashed

>>> type_dict[df.type.values]
TypeError: unhashable type: 'numpy.ndarray'
Run Code Online (Sandbox Code Playgroud)

我真的需要apply并遍历每一行,还是有更有效的替代方案?

python dictionary dataframe pandas

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