将数据帧中的行相乘

2024-04-16 06:58:48 发布

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

我有这样一个数据帧:

0        0.000313
1        0.316426
2        0.000313
3        0.004389
4        0.000000
5        0.004389

如何创建一个每两行相乘并取平方根的数据帧?你知道吗

例如,对于前两行,它将执行以下操作:sqrt(0.000313*0.316426)

应该是这样的:

0        0.009951
1        0.001172
2        0.000000

Tags: 数据sqrt
1条回答
网友
1楼 · 发布于 2024-04-16 06:58:48

我相信你需要的是将奇数索引元素乘以偶数,然后取它们的平方:

print(s)

输出:

0    0.000313
1    0.316426
2    0.000313
3    0.004389
4    0.000000
5    0.004389
Name: val, dtype: float64

然后

pd.Series(np.sqrt([a*b for a,b in zip(list(s[::2]),list(s[1::2]))]))

输出:

0    0.009952
1    0.001172
2    0.000000
dtype: float64

相关问题 更多 >