微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

按组对点进行指数拟合

如何解决按组对点进行指数拟合

我有一个这种形式的大熊猫数据框

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 分配配件。

,

您可以按照其他人的建议使用 groupbygroupby.apply。如果您担心性能,请尝试使用您的代码 BodoBodo Community Edition 允许您在最多 4 个内核上免费使用它。它可以通过顺序和并行优化自动加速 Pandas 代码。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。