Python Dataframe 分组排序和 Modin
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python Dataframe 分组排序和 Modin,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2380字,纯文字阅读大概需要4分钟。
内容图文
Python Dataframe 分组排序和 Modin
1、按照其中一列进行排序
在dataframe中,按照其中的一列排序:比如q值倒排
(1)rank方法
data['new_rank'] = data.groupby('house_code')['q_score_new'].rank(ascending=False, method='dense')
(2)sort_values方法
data.sort_values(['q_score_new'], ascending=False).groupby(['house_code']).cumcount() + 1
2、按照其中多列进行排序
在dataframe中,按照其中的多列排序:比如q值倒排、经纪人ucid正排
sort_values方法
(1)dsort_values方法ata.sort_values(['q_score_new', 'agent_ucid'], ascending=[ False, True]).groupby(['house_code']).cumcount() + 1 # 20多秒(100多万行数据集上) (2)data = data.groupby('house_code').sort_values(by=['q_score_new', 'agent_ucid'], ascending=(False, True)).groupby('house_code').apply(f) # 200多秒(100多万行数据集上) def f(df): df['new_rank'] = range(1, len(df) + 1) return df
最终结果显示:第一种比第二种()快10倍左右(在200万行数据集上),所以推荐第二种!!!
3、modin
(1)简介
Modin 是加州大学伯克利分校 RISELab 的一个早期项目,旨在促进分布式计算在数据科学领域的应用。它是一个多进程的数据帧(Dataframe)库,具有与 Pandas 相同的应用程序接口(API),使用户可以加速他们的 Pandas 工作流。
(2)原理
从本质上讲,Modin 所做的只是增加了 CPU 所有内核的利用率,从而提供了更好的性能。
(3)安装使用
Modin 是完全开源的,可以通过下面的 GitHub 链接获得:
https://github.com/modin-project/modin
我们可以使用如下所示的 PyPi 指令来安装 Modin:
pip install modin
在 Windows 环境下,Ray 是安装 Modin 所需的依赖之一。Windows 本身并不支持 Ray,所以为了安装它,用户需要使用 WSL(适用 Linux 的 Windows 子系统,适用Linux和mac)
(4)性能提升
pandas的内置函数(比如groupby等)因为优化的很好,所以和modin.pandas处理速度差不多,提升主要提现在数据读取上。 通常,Modin 使用「read_csv」函数读取 2G 数据需要 2 秒,而 读取 18G 数据大约需要不到 18 秒。
%%time import pandas pandas_csv_data = pandas.read_csv("../800MB.csv") ----------------------------------------------------------------- CPU times: user 26.3 s, sys: 3.14 s, total: 29.4s Wall time: 29.5 s %%time import modin.pandas modin_csv_data = pd.read_csv("../750MB.csv") ----------------------------------------------------------------- CPU times: user 76.7 ms, sys: 5.08 ms, total: 81.8 ms Wall time: 7.6 s
(5)未来
Modin 项目仍处于早期阶段,但对 Pandas 来说是一个非常有发展前景的补充。Modin 为用户处理所有的数据分区和重组任务,这样我们就可以集中精力处理工作流。Modin 的基本目标是让用户能够在小数据和大数据上使用相同的工具,而不用考虑改变 API 来适应不同的数据规模
内容总结
以上是互联网集市为您收集整理的Python Dataframe 分组排序和 Modin全部内容,希望文章能够帮你解决Python Dataframe 分组排序和 Modin所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。