Pandas:从其他列计算并添加新列

5

我有一份包含测量值的csv文件:

YY-MO-DD HH-MI-SS_SSS    |        x          |          y
2015-12-07 20:51:06:608  |        2          |          4
2015-12-07 20:51:07:609  |        3          |          4

我希望添加另一列,显示x^2+y^2的平方根值,即z=sqrt(x^2+y^2)。

如下所示:

 YY-MO-DD HH-MI-SS_SSS       |        x          |          y     |     z
    2015-12-07 20:51:06:608  |        2          |          4     |   4.472
    2015-12-07 20:51:07:609  |        3          |          4     |    5

有什么想法吗?

谢谢!

1个回答

8

使用np.sqrt函数处理平方结果:

In [10]:
df['z'] = np.sqrt(df['x']**2 + df['y']**2)
df

Out[10]:
   x  y         z
0  2  4  4.472136
1  3  4  5.000000

你还可以对np.square的结果按行求和,并调用np.sqrt

In [13]:
df['z'] = np.sqrt(np.square(df[['x','y']]).sum(axis=1))
df

Out[13]:
   x  y         z
0  2  4  4.472136
1  3  4  5.000000

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接