问题标签 [dask-dataframe]
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.
sql - 如何为 Dask 数据帧 read_sql_table(meta=??) 指定元数据?
我在具有以下类型的表 include_retweets 上调用 dask.dataframe.read_sql_table()
当我没有指定元参数时,Dask 将数据读取为
在 Dask 返回的内容中,我希望第三行有 [{TRUMP2020}] 用于政治短语。
如何正确指定元?我已经尝试过(根据https://github.com/dask/dask/issues/4723)
然后在此处将这些值或这些值的变体传递给元数据
当我打印从 dask.dataframe.read_sql_table() 返回的内容时,我得到
当我尝试执行 .compute() 时,出现以下错误
这个错误对我来说没有意义,因为我将表 include_retweets 中的所有列名都包含在正确的数据类型中。
python - 如何从 Dask 中键维度不一致的字典列表中创建 DataFrame?
Dask 有点新,但由于大多数操作都是懒惰的,我怎样才能使这样的基本案例大规模工作?
在仅限 Pandas 的世界中,我可以映射pd.Series
,但问题是这些操作在计算完之后才会计算。上面的代码生成了一个只有第一条记录(“a”、“b”、“c”)的特征的 DataFrame。
预期结果:
python - 如何为字符串索引的 dask 数据帧设置分区
我必须将数据库中的数据加载到 dask 数据框中。我正在使用dd.read_sql_table
它。我需要传递一个元数据才能使一些带有 nan 列的 int 使用该pd.Int64
数据类型。由于索引列是基于字符串的(例如“-7874571842864554321-1403311221-11”),我需要设置分区。但我没有这样做。到目前为止我尝试了什么:
如果数据只是分成 n 个部分就可以了,因为无论如何索引都没有说任何有意义的东西。但是现在这段代码发生的事情是它似乎只是使用了一个分区,这会溢出我的内存。我期望的是 19 个部门被单独下载和保存。但是,它只是从我的数据库中下载数据,直到内存已满而不保存任何数据。
pandas - Pandas/Dask:从多索引或第二个数据帧的其他两个列中过滤数据帧?
假设一个
,我们收到一个新的DataFrame
,它计算每对存在的行数:
现在我想回到ddf
只有.loc
这样的行,它们有一个my_count >3
. 什么是实现这一目标的好方法?
我目前的解决方案是这样,它有效,但它就像.. 需要有一个更好的方法:
数据框计数 500.000.000 行,所以不应该有太多的洗牌等等。
dask - Dask:定期更新已发布的数据集并从其他客户端提取数据
我想published dask dataset
从队列(如redis)中追加数据。然后其他python程序将能够获取最新数据(例如每秒/分钟一次)并进行一些进一步的操作。
- 那可能吗?
- 应该使用哪个附加接口?我应该将它加载到
pd.DataFrame
第一个还是更好地使用一些文本导入器? - 假定的附加速度是多少?是否可以在一秒钟内追加 1k/10k 行?
- 是否有其他好的建议可以在 dask 集群中交换大量且快速更新的数据集?
感谢您提供任何提示和建议。
python - 你能从 Dask 系列中随机抽取 k 个值吗?
我想从 Dask 系列中随机抽取 k 值而不进行替换,并且我不想事先计算系列的长度。如果 k 大于系列的长度,那么我想返回整个系列。
我已经尝试过 dask 系列示例函数,但它无法将延迟对象作为frac
参数处理:
给出错误
TypeError: 试图将 dd.Scalar<lt-3dc6..., dtype=bool> 转换为布尔值...
我也尝试从 dask bag 采样,但是当 k 大于 bag 的长度时会引发错误:
给出错误
例外:ValueError('样本大于总体或为负')
有什么办法可以得到我想要的结果?
python-asyncio - 如何使用异步dask客户端
我试图理解 dask 异步客户端,但仍有一些问题。这是我的例子:
我的问题是:
- 我应该使用
await
吗dd.read_parquet
? - 我应该使用
await
吗merge
? - 如果我为其设置了错误的列名,
read_parquet
则会立即引发异常,之前dask_client.compute
。为什么会发生?如果客户端异步,它应该只创建任务,而不是执行它。
python - 如果 Dask 系列包含不可散列的类型,如何将其转换为字符串类型?
我想调用一个任意的 Dask 系列,如果它包含不可散列的类型.value_counts()
,我想将该系列转换为类型字符串。如果不需要,我不想将系列转换为字符串。我也不想在打电话.compute()
之前打电话.value_counts()
。我努力了
这给出了错误
类型错误:不可散列类型:“列表”
和
这给出了同样的错误。
我也试过
这给出了错误
TypeError: 试图将 dd.Scalar<series-..., type=str> 转换为布尔值。
dask - 如何检查为什么 Dask 没有在变量覆盖时释放内存
有一个dask.DataFrame
消耗大约 100GB 内存的::
现在我想使用.loc
运算符过滤掉数据,但是运行以下命令后,RAM消耗为165GB:
如何检查阻止 Dask 真正覆盖的打开/挂起/等待期货/任务/数据集ddf_c
dask.DataFrame
?
这是信息页面的样子:
python - Dask DataFrame Groupby:聚合中最常见的列值
自定义 daskGroupBy
Aggregation
非常方便,但我很难定义一个为column 中最常用值工作的值。
我有什么:
因此,从这里的示例中,我们可以像这样定义自定义聚合函数:
虽然这适用于(如在示例页面上),但对最常见值custom_sum
的适应可能是这样的(来自此处的示例):
但它产生
然后我试图在实现meta
中找到关键字来定义它,但找不到它。而且在示例中不需要它的事实让我认为错误在其他地方。dd.Aggregation
custom_sum
所以我的问题是,如何在df.groupby(..).agg(..)
. 谢谢!