相关疑难解决方法(0)

pandas dataframe与一系列相乘

将Pandas DataFrame的所有列乘以存储在Series?中的列向量的最佳方法是什么?我以前在Matlab中这样做repmat(),在Pandas中不存在.我可以使用np.tile(),但每次来回转换数据结构看起来很难看.

谢谢.

multiplying dataframe pandas

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

将熊猫DF复制N次

所以现在,如果我增加一个列表,即“ x = [1,2,3]* 2 I get x as [1,2,3,1,2,3]但是,这不适用于熊猫”。

因此,如果要复制PANDAS DF,则必须将一列设为列表并包含多个:

col_x_duplicates =  list(df['col_x'])*N

new_df = DataFrame(col_x_duplicates, columns=['col_x'])
Run Code Online (Sandbox Code Playgroud)

然后对原始数据进行联接:

pd.merge(new_df, df, on='col_x', how='left')
Run Code Online (Sandbox Code Playgroud)

现在这将大熊猫DF复制了N次,有没有更简单的方法?还是更快的方法?

python list pandas

4
推荐指数
2
解决办法
4430
查看次数

创建一个所有行都相同的 numpy 数组

给定一个向量v,我想创建一个所有行都等于的 2D numpy 数组v。做这个的最好方式是什么?必须有比使用 for 循环更快的方法来做到这一点。有像fill,ones和之类的函数zeros可以用一个值填充整个数组,但是用相同的值填充每一列,但每列的值不同呢?

python numpy

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

如何将一个数组重复m次

我有一个数组,例如arr = [1, 2, 3, 4]、 和m = 3。我想制作一个包含m行的矩阵,重复该数组。该示例的输出将是

[[1, 2, 3, 4],
 [1, 2, 3, 4],
 [1, 2, 3, 4]]
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我尝试过

np.vstack((arr, arr, arr))
Run Code Online (Sandbox Code Playgroud)

然而,据我了解,这只有在我有效地硬核时才有效m

numpy array-broadcasting

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

在MATLAB中重复矩阵行

我有一个与这篇文章有关的问题:"克隆"行或列向量.我试图解决那里发布的答案,但未能将它们应用到我的问题中.


就我而言,我想通过转换矩阵来"克隆"矩阵的每一行

A = [1,2; 3, 4; 5, 6]
Run Code Online (Sandbox Code Playgroud)

进入矩阵

B = [1, 2
     1, 2
     3, 4
     3, 4
     5, 6
     5, 6]
Run Code Online (Sandbox Code Playgroud)

通过重复每一行A多次.


到目前为止,我能够repmat像单行一样工作

A = [1, 2];
B = repmat(A, 2, 1)

>> B = [1, 2
        1, 2]
Run Code Online (Sandbox Code Playgroud)

我试图使用该公式构建循环,以获得所需的矩阵.循环看起来像

T = 3; N = 2;
for t = 1:T
    for I = 1:N
      B = repmat(C, 21, 1)
    end
end
Run Code Online (Sandbox Code Playgroud)

有谁知道如何正确编写循环,或更好的方法来做到这一点?

matlab matrix

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

numpy arange 的 2D

我想构建两个二维数组

a = [[0, 0, 0, 0, 0, 0],
     [1, 1, 1, 1, 1, 1],
     [2, 2, 2, 2, 2, 2],
     [3, 3, 3, 3, 3, 3],
     [4, 4, 4, 4, 4, 4],
     [5, 5, 5, 5, 5, 5]]

b = [[0, 1, 2, 3, 4, 5],
     [0, 1, 2, 3, 4, 5],
     [0, 1, 2, 3, 4, 5],
     [0, 1, 2, 3, 4, 5],
     [0, 1, 2, 3, 4, 5],
     [0, 1, 2, 3, 4, 5]]
Run Code Online (Sandbox Code Playgroud)

但我不能使用 for 循环。我知道我可以使用 …

python arrays numpy tile

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

如何在不使用循环的情况下将一维列表转换为二维列表?

我有一个浮动列表:

[1.0, 2.0, 3.0, 4.0] 
Run Code Online (Sandbox Code Playgroud)

如何将此列表重塑为多维数组,例如:

[[1.0, 1.0, 1.0], [2.0, 2.0, 2.0], [3.0, 3.0, 3.0], [4.0, 4.0 ,4.0]]
Run Code Online (Sandbox Code Playgroud)

不使用循环?是否可以使用numpy或任何其他?

python arrays numpy list

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