pandas - 使用所有先前行和所有后续行的所有累积和的 Pandas 矢量化
问题描述
我试图将 excel 表转换为 Python,其中一个函数的一部分是 (SUMSQ(K$8:K36)+SUMSQ(K38:K$39)))
这是所有先前行的平方和加上所有后续行的平方和,我最好的尝试是:
def SUMSQ(x):
return ((sum([i**2 for i in x]))-(sum(x)**2)/len(x))
SUMSQ(df1['K']) + SUMSQ(df1.iloc[-1::]['K'])
我知道我没有正确索引数据框的一部分。有没有办法从列的开头索引到当前位置上方的行?
解决方案
您的问题可能需要一些澄清,但您似乎想从 SUMSQ 计算中排除当前行。如果是这样,那么以下应该工作。
df = pd.DataFrame({'k': range(1, 11)})
for idx in range(len(df)):
print(SUMSQ(df.loc[df.index != idx, 'k']))
输出是
60.0
68.88888888888891
75.55555555555554
80.0
82.22222222222223
82.22222222222223
80.0
75.55555555555554
68.88888888888889
60.0
推荐阅读
- react-native - 如何在本机反应中制作堆栈内的选项卡
- postgresql - 错误:日期类型的输入语法无效:“InvoiceDate”
- mysql - 联合mariadb中的n个表并根据时间戳找到不同的值
- usb - 如何使用 usbdi 回调获取设备路径和挂载路径?
- javascript - 如何修复此引导响应式多图像轮播。向左滑动有效,但向右滑动无效
- javascript - axios post成功后实现弹出框
- android - libhwui.so:为窗口0xb670b008创建EGLSurface失败,eglErr = EGL_BAD_ALLOC
- wso2 - 在 WSO2-AM 调解器中使用 XMLSignatureFactory 时如何修复 ClassCastException?
- angular - 页面加载时出错,提供的动画触发器“动画”尚未注册
- r - 是否有用于向 x 轴添加更多年份的 R 函数?