gpt4 book ai didi

python - 行的 Pandas 内积

转载 作者:太空宇宙 更新时间:2023-11-04 10:14:50 28 4
gpt4 key购买 nike

我有

df={'x1':[1,2,3,4],
'x2':[5,6,7,8],
'y1':[1,2,1,1],
'y2':[1,1,1,1],
}
df=pd.DataFrame(df)

看起来像

  x1 x2 y1 y2
1 5 1 1
2 6 2 1
3 7 1 1
4 8 1 1

如何在 df x1*y1+x2*y2 中获得一个新列作为“内积”?第一次尝试是

df['inner']=(df[['x1','x2']*df[['y1','y2']]).sum(axis=1)

但失败了

应该很容易,但不知何故找不到任何简单的答案

最佳答案

您可以为您的示例使用@EdChum 解决方案。更一般的:

X = df.loc[:, df.columns.str.contains('x')]
Y = df.loc[:, df.columns.str.contains('y')]

df['inner'] = (X.values * Y.values).sum(axis=1)

In [24]: df
Out[24]:
x1 x2 y1 y2 inner
0 1 5 1 1 6
1 2 6 2 1 10
2 3 7 1 1 10
3 4 8 1 1 12

关于python - 行的 Pandas 内积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35984632/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com