在pandas datafram中倍增行

2024-10-17 16:33:59 发布

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

我有一个dataframe,有4行标记为r1到r4,还有2列(“c1”和“c2”)。此数据帧/矩阵中的值为“aij”(伪代码):

dataframe =    c1  c2
            r1 a11 a12
            r2 a21 a22
            r3 a31 a32
            r4 a41 a42

我现在想用一种非常有效的方式(想想很多列),计算行的乘积。在

更具体地说,我想形成一个元素数等于列数的列表,因为它的I第个元素的结果是所有行的乘积:

^{pr2}$

实际上,我有数千列,但只有大约4行。在

我看了dataframe的“sum(…)”函数(带有它的“axis”参数),它与我需要的类似,但在乘法版本中。不知道该怎么做。在


Tags: 数据代码标记元素dataframe矩阵乘积r2
1条回答
网友
1楼 · 发布于 2024-10-17 16:33:59

IIUC您可以使用^{},它将按列计算所有元素的乘积,然后根据需要对结果调用tolist

In [23]:
df = pd.DataFrame(np.arange(12).reshape(4,3), columns=list('abc'))
df
​
Out[23]:
   a   b   c
0  0   1   2
1  3   4   5
2  6   7   8
3  9  10  11

In [26]:
df.prod()

Out[26]:
a      0
b    280
c    880
dtype: int64

In [25]:
df.prod().tolist()

Out[25]:
[0, 280, 880]

相关问题 更多 >