问题标签 [modin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 加快读取和操作 30,000 个 csv 文件
我正在使用 Python 3 和 pandas(pd.read_csv) 来读取文件。没有标题,分隔符是 ' |, | '。此外,这些文件不是 .csv 文件,操作系统是 CentOS。
一个文件夹中有 30,000 个文件,总大小为 10GB。每个文件大约有 50-100 行和 1500 列。我读取每个 csv 文件(使用 read_csv)对其进行一些操作,并通过 for 循环将它们存储在列表中。在该过程结束时,我有一个数据框列表。我想知道如何加快这个过程。只有 10 列是相关的,因此我使用参数 usecols 进行过滤。单元格输入是字符串,所以我使用 df.astype(float) 将它们转换为浮点数。
请注意,我必须分别对每个文件进行操作,然后才能将它们全部附加在一起。
我尝试使用 modin,但它导致速度多次下降。此外,使用 modin 会导致每个数据帧中的索引重复多次,这在普通 pandas 中不会发生。
python - 将带有 2 张纸或 csv 的大型 xlsx 读入数据框
我有一个xlsx
包含 11 列、15M 行和 198Mb 大小的文件。与熊猫一起阅读和工作需要很长时间。阅读 Stackoverflow答案后,我切换到dask
和modin
。但是,我在使用时收到以下错误dask
:
c error :out of memory
.
当我使用时,modin['ray']
我收到以下错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa0 in position 112514: invalid start byte
有没有一种更有效的方法可以在普通硬件上将大文件xlsx
或csv
文件导入 python?
python - Modin 加速 Pandas 应用功能吗?
我试图在很多地方找到答案,但还没有得到直接的答案。modin 加速是否适用于数据帧?它是否具有跨 Dataframe 并行化应用功能而不是典型的逐行执行的智能?
或者
我们应该使用 Spark Dataframe 来加速应用功能吗?
抱歉,如果有简单的答案可用,我总是得到关于 modin 在阅读或某些功能方面有多快的答案,很少应用。
python - 从 PyCharm 运行 modin.pandas 时无法连接到 Redis
在我的 Windows 机器上安装 modin (pip install modin[ray]) 后,我可以在 jupyter notebook 上运行简单的示例,但从 PyCharm 运行时会失败。我得到一个例外:无法连接到 Redis。有什么建议吗?
python - Unhashable 类型:将 modin 与 pandas 一起使用时的系列?
我在 Windows 10 上的 Anaconda;我通过以下方式安装:
因此,请考虑以下示例:
当我有时USEDASK=False
,一切都按预期工作。
当我有时USEDASK=True
,我有以下失败:
有没有办法让这个代码使用 modin+dask 工作?
python - Pandas 字符串下标在 modin 中不起作用(以及有关将 pandas 代码转换为 modin 的相关问题)
我最近了解了 modin,并试图将我的一些代码从 pandas 转换为 modin。我的理解是 modin 有一些运行速度更快的操作,而另一些则没有优化,所以它默认使用 pandas。因此,在 pandas 中运行的任何东西都应该在 modin 中运行,但情况似乎并非如此。
以下代码是 pandas 中的 WAI,但在 modin 中出现错误:
返回:
但是当我使用 modin.pandas (交换在开始时注释哪一行)时,我得到了错误:
我还收到了熊猫没有收到的其他用户警告:
我的问题是:
我该如何解决?- 当我希望将代码转换为 modin 时,是否有特定类型的命令可以在 pandas 中工作但在 modin 中不起作用?
- 用户警告是否表明 modin 中的某些操作比 pandas 慢,所以我应该选择使用它的目的?
- 此外,使用 modin 执行某些操作(如 read_csv() 来创建数据帧,然后使用 pandas 在该数据帧上运行操作,并可能再次使用 modin 保存数据帧是否可行(或可取)?对于我当前的流程,加载(以及较小程度的节省)是最密集的任务。
#=========================================
更新:
#=========================================
我已经为我提出的具体问题找到了解决办法,但希望回答其他(更一般的)问题。x
使用计时函数捕获字符串中第一个字符的替代方法的代码:
在 100X 的数据帧上运行此示例返回:
熊猫:
模组:
这些比较似乎说明 modin 并不总是更快,并重申了我关于何时使用 modin 以及我们是否可以混合/匹配 pandas 和 modin 的问题(或者这不是最佳实践以及为什么)。
python - str[0:z] 适用于 pandas 但不适用于 modin:TypeError: 'StringMethods' object is not subscriptable
我在 Python 3.7 上运行 Spyder 并且是 modin 的新手。我想检索字符串中的第一个字符并保存到新列。当我用 pandas 正常运行时,它可以工作:
但是当我使用 modin 运行相同的命令时,我得到了错误:' TypeError: 'StringMethods' object is not subscriptable'
我可以通过使用 str.get() 来解决这个问题:
但是对于大量数据和检查许多首字符是非常耗时的。
有没有一种简单的方法可以像使用 pandas 一样使用 modin 立即检索字符串中的第一个 z 字符?
python - 熊猫 DataFrame 的 Modin 与线程
我有一个包含 343,500 条记录和一个预定义get_zipcode
函数的 DataFrame。
为了加快速度,我将数据一分为四,并使用该模块apply
创建了以下线程进程:threading
这似乎工作得相当好。但是我已经找到了modin
module,它(根据我对文档的理解)也使用了多线程。
在这种情况下,我本质上apply
是在整个数据帧中使用一个函数,使用threading
vs有优势modin
吗?
从更广泛的意义上说,根据文档,不使用有什么好处modin
吗?
python - modin可以用来做什么?
我一直在研究并行化选项,发现ray
和modin
. 经过一些测试,我对使用modin
. 两个例子:
df = pd.read_csv()
对于 180 MB 文件 pandas 5.2s 与 modin.pandas 2.7s
但是df.groupby()
pandas 0.59s 与 modin.pandas 5.46s
什么样的应用程序将从使用 modin 中受益?这里有一般规则还是必须单独测试所有内容?
python - Modin 比 pandas 花费更多时间来阅读 CSV
我正在使用modin.pandas为大型数据集缩放熊猫。但是,当使用pd.read_csv
加载 5 MB 的 csv 数据集jupyter notebook
来比较 和 的性能时modin.pandas
,pandas
它会给出意外的执行时间。
modin.pandas
花费的时间比pandas
. 为什么?
代码-
这是 CSV 文件的链接。我正在使用 modin 版本0.8.3
和 pandas 版本1.1.5
。
输出截图-
系统信息-
编辑:我尝试使用 500 MB 的 CSV 文件,结果略有改善。modin
两者的执行时间pandas
现在几乎相同。这是平常的吗?