这是我的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)
答案 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