如何用多个平方根值划分Pandas DataFrame?

时间:2019-12-16 23:46:39

标签: python pandas arithmetic-expressions

这是我的DataFrame的一个示例:

X     Y
4.2  3.0
6.8  4.7
8.4  2.1

我想实现一个公式,但遇到一些错误。我想找到X平方的值除以X平方+ Y平方的总和。

公式如下:

Z = X 2 /(X 2 + Y ** 2)

我希望我的新DataFrame仍然具有列“ X”和“ Y”,但还具有一个新列“ Z”,其中将包含我的公式的输出。 “ Z”列会将公式应用于每一行。

X     Y    Z
4.2  3.0  .58
6.8  4.7  .59
8.4  2.1   .8

我尝试使用以下公式,但无效:

df['Z'] = (df['X']**2/(df['X']**2 + df['Y']**2)

1 个答案:

答案 0 :(得分:3)

使用:

df['Z'] = df['X'].mul(2)/( df['X'].mul(2) + df['Y'].mul(2) )
#df['Z'] = df['X']*2/( df['X']*2 + df['Y']*2 )

df['Z'] = df['X'].mul(2)/df.mul(2).sum(axis=1)

#If you want select the columns
#df['Z'] = df['X'].mul(2)/df[['X','Y']].mul(2).sum(axis=1) 

输出:

     X    Y         Z
0  4.2  3.0  0.583333
1  6.8  4.7  0.591304
2  8.4  2.1  0.800000