在pandas数据帧中乘以行

时间:2018-05-23 00:15:36

标签: python pandas

我有一个如下所示的数据框:

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

1 个答案:

答案 0 :(得分:2)

我相信你所需要的是将奇数索引元素与偶数相乘并取其sqrt:

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