如何解决按组对点进行指数拟合
Group X Y
1 0.5 8
1 0.7 9
2 0.1 2
这个数据框延续了许多行,其中包含许多由数字表示的不同组。对于每个组,我希望获取所有 (x,y) 点,并为其拟合指数曲线。
我考虑过遍历每个组,过滤数据框,将 x 和 y 拉入列表,并使用 numpy 来拟合每个组的点。但是我担心由于数据帧的大小,这会很慢。有没有更有效的方法来做到这一点?
提前致谢。
解决方法
你会喜欢这个函数的,它为我节省了大量时间,pandas df groupby 函数和 groupby.apply 链接上有很好的例子。
如果数据框太大而无法放入内存,可以查看Dask
在一天结束时,如果您想在组上运行回归,如果它太慢,您将不得不按组分开,您可以使用 groupby.to_frame 为每个组创建不同的数据框,然后多进程每组或使用 dask 分配配件。
,您可以按照其他人的建议使用 groupby 和 groupby.apply。如果您担心性能,请尝试使用您的代码 Bodo。 Bodo Community Edition 允许您在最多 4 个内核上免费使用它。它可以通过顺序和并行优化自动加速 Pandas 代码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。