数据框中每行值的笛卡尔积

2024-04-24 21:02:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧/矩阵,它是MxJ,如下所示:

**dataframe: R**

index   0 1 2 3 ... J #columns, go from 0 to J

0       3 0 5 6 ... #values - first row
1       .........
....................
M

还有一个矩阵/数据帧是JxJ,它由0和1组成,如下所示:

**dataframe: K / its symetric**

index   0 1 2 3 ... J #columns, go from 0 to J

0       1 0 1 0 ...
1       0 1 1 1 ...
2       0 1 1 1 ...
       .........
....................
J

我需要每行计算

sum[0 to J](sum[0 to J](K[i,j]*r[i]*r[j])

基本上第一行的concrte示例是:[(3*3)*1]+[(3*0)*0]+[(3*5)*1]+[(3*6)*0]+[(0*0)*1]+[(0*5)*1]+[(0*6)*1]+[(5*5)*1]+[(5*6)*1]。所以最终结果应该是1xM。你知道吗

我知道如何使用3 for循环,伪代码:

sum = []
#J - number of columns
#M - number of rows
for m in range(o,M)
  for i in range(0, J):
    for j in range (i,J):
       sum[m] = sum[m] + (a[i] * a[j]) * wi[i,j]

但是for循环不是一个选择,因为我的数据是巨大的。 有人能解释我如何做笛卡尔积与行(那部分我不知道怎么做)在更大的方式。你知道吗


Tags: columnsofto数据infromgonumber