【问题标题】:Regex for mask function in DaskDask中掩码函数的正则表达式
【发布时间】:2018-07-06 14:21:32
【问题描述】:

我一直在 pandas 中使用以下正则表达式将某些字符替换为另一个字符:

df = df.replace(r'\t|\r|\n', '', regex=True)

但正如here 所提到的,我们有mask 在dask。但是我在这个函数中找不到如何使用正则表达式。任何帮助表示赞赏。

【问题讨论】:

  • 您是否尝试过使用map_partitions
  • @mdurant 那如何支持正则表达式匹配?

标签: python pandas dask


【解决方案1】:

处理诸如此类的逐行操作的最常见方法是使用map_partitions,它允许您处理 dask-dataframe 的每个块,每个块都是真正的 pandas 数据帧。

在这个例子中

df2 = df.map_partitions(lambda d: d.replace(r'\t|\r|\n', '', regex=True))

df 是一个 dask 数据帧。请注意,与 map_partitions 一起使用的函数需要一个 pandas 数据帧并返回一个 pandas 数据帧。

【讨论】:

  • 看起来很有希望。我会尽力让你知道。谢谢
  • 我尝试了您的解决方案,它奏效了。只是想知道,当您说 map_partitions 需要熊猫数据框时,您是什么意思?在您的示例中,您使用了 dask 数据框。
  • lambda 函数 (d) 的输入是 pandas 数据帧,是较大的 dask 数据帧的一部分。
猜你喜欢
  • 2019-08-08
  • 1970-01-01
  • 1970-01-01
  • 2013-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-12
相关资源
最近更新 更多