Pyspark - 如何回填 DataFrame?

2023-11-28

你怎么能做同样的事情df.fillna(method='bfill')对于带有 a 的 pandas 数据框pyspark.sql.DataFrame?

pyspark 数据框具有pyspark.sql.DataFrame.fillna方法,但是不支持method范围。


在 pandas 中,您可以使用以下内容来回填时间序列:

创建数据

import pandas as pd

index = pd.date_range('2017-01-01', '2017-01-05')
data = [1, 2, 3, None, 5]

df = pd.DataFrame({'data': data}, index=index)

Giving

Out[1]:
            data
2017-01-01  1.0
2017-01-02  2.0
2017-01-03  3.0
2017-01-04  NaN
2017-01-05  5.0

回填数据框

df = df.fillna(method='bfill')

生成回填框架

Out[2]:
            data
2017-01-01  1.0
2017-01-02  2.0
2017-01-03  3.0
2017-01-04  5.0
2017-01-05  5.0

如何才能为一个人做同样的事情呢?pyspark.sql.DataFrame?


The last and first函数,以及它们的ignorenulls=True标志,可以与rowsBetween开窗。如果我们想向后填充,我们选择当前行和末尾之间的第一个非空值。如果我们想向前填充,我们选择起始行和当前行之间的最后一个非空值。

from pyspark.sql import functions as F
from pyspark.sql.window import Window as W
import sys

df.withColumn(
  'data',
  F.first(
    F.col('data'),
    ignorenulls=True
  ) \
    .over(
      W.orderBy('date').rowsBetween(0, sys.maxsize)
    )
  )

填充火花的来源:https://towardsdatascience.com/end-to-end-time-series-interpolation-in-pyspark-filling-the-gap-5ccefc6b7fc9

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pyspark - 如何回填 DataFrame? 的相关文章

  • 评估 df 每行中的日期时间函数是否落在另一个 df 中的日期时间范围内

    我是 python 新手 需要一些帮助来解决有关日期时间函数的问题 I have df a其中有一列标题为time 我正在尝试创建一个新专栏id在这个df a 我想要id根据时间是否包含在某个时间范围内来确定的列df b date 和 da
  • 如何将多个 parquet 文件附加到 Pandas 中的一个数据帧

    我正在使用 Spark 和 Pandas 解压缩 snappy parquet 文件 我有 180 个文件 我的 Jupyter 笔记本中有 7GB 数据 根据我的理解 我需要创建一个循环来获取所有文件 用 Spark 解压缩它们并附加到
  • 将 Pandas 数据框单元格中的设置值拆分为多行

    我有一个以下形式的 pandas DataFrame col1 col2 1 a hu fdf ko dss 2 b sdsjdn lk 3 c sds aldj dhva 现在我想将设置值拆分为多行 使其看起来像这样 col1 col2
  • 从 Pandas 数据框中删除值仅出现一次的行

    我有一个包含不同 ID 的每月记录的数据框 我只需要对具有多个月记录的 ID 进行一些分析 ID Month Metric1 Metric2 1 2018 01 01 4 3 1 2018 02 01 3 2 2 2018 02 01 1
  • xlrd.biffh.XLRDError:Excel xlsx 文件;不支持[重复]

    这个问题在这里已经有答案了 我正在尝试使用读取启用宏的 Excel 工作表pandas read excel与 xlrd 库 它在本地运行良好 但是当我尝试将其推送到 PCF 时 我收到此错误 2020 12 11T21 09 53 441
  • Python Pandas 根据另一列的总计从另一个数据帧中选择值

    我下面有一个 DataFrame 但我需要根据取消和订单列从每个代码中选择行 假设代码 xxx 的阶数为 6 1 5 1 阶数为 11 我需要一种算法 可以选择满足总共 11 行的行 阶数为 6 5 如果没有行匹配 则选择最接近的 id 并
  • Apache Spark 中的高效字符串匹配

    我使用 OCR 工具从屏幕截图中提取文本 每个大约 1 5 句话 然而 当手动验证提取的文本时 我注意到时不时会出现一些错误 鉴于文本 你好 我真的很喜欢 Spark 我注意到 1 像 I 和 l 这样的字母被 替换 2 表情符号未被正确提
  • Scala 中的行聚合

    我正在寻找一种方法在 Scala 的数据框中获取一个新列来计算min max中的值col1 col2 col10对于每一行 我知道我可以使用 UDF 来做到这一点 但也许有一种更简单的方法 Thanks Porting 这个Python答案
  • 查找两个 Pandas 数据框中的公共行(交集)

    假设我有两个这种格式的数据框 称它们为df1 and df2 user id business id rating rLtl8ZkDX5vH5nAx9C3q5Q eIxSLxzIlfExI6vgAbn2JA 4 C6IOtaaYdLIT5f
  • Apache Spark 和 scikit_learn 之间的 KMeans 结果不一致

    我正在使用 PySpark 对数据集执行聚类 为了找到簇的数量 我对一系列值 2 20 进行了聚类 并找到了wsse 簇内平方和 每个值的值k 在这里我发现了一些不寻常的东西 根据我的理解 当你增加集群数量时 wsse单调递减 但我得到的结
  • 如何搜索一列并用找到的内容填充另一列?

    我有一个带有虚构人物数据的大熊猫数据框 下面是一个小例子 每个人都由一个数字定义 import pandas as pd import numpy as np df pd DataFrame Number 5569 3385 9832 64
  • matplotlib - 将文本包装在图例中

    我目前正在尝试绘制一些pandas数据通过matplotlib seaborn 然而我的一个专栏标题特别长 拉长了情节 考虑以下示例 import random import pandas as pd import matplotlib p
  • pandas DataFrame 中行的高效成对比较

    我目前正在处理一个较小的数据集 大约 900 万行 不幸的是 大多数条目都是字符串 即使强制类别 框架在内存中也只有几 GB 我想做的是将每一行与其他行进行比较 并对内容进行直接比较 例如 给定 A B C D 0 cat blue old
  • 熊猫系列到二维数组

    所以 我使用了来自的答案将二维数组放入 Pandas 系列中 https stackoverflow com questions 38840319 put a 2d array into a pandas series将 2D numpy
  • 如何将另一整列作为参数传递给 pandas fillna()

    我想用另一列中的值填充一列中的缺失值 使用fillna方法 我读到循环遍历每一行将是非常糟糕的做法 最好一次完成所有事情 但我不知道如何使用fillna 之前的数据 Day Cat1 Cat2 1 cat mouse 2 dog eleph
  • 在 pandas 中获取组名称的有效方法

    我有一个包含大约 300 000 行的 csv 文件 我将其设置为按特定列分组 每个组大约有 140 名成员 总共 2138 个组 我正在尝试生成组名称的 numpy 数组 到目前为止 我已经使用 for 循环来生成名称 但处理所有内容都需
  • Dask.dataframe 或替代方案:删除低频项目行的可扩展方法

    我正在寻找一种方法来从包含低频项的数据框中删除行 我改编了以下片段this https stackoverflow com questions 32511061 remove low frequency values from pandas
  • 为什么 pandas.series.map 如此慢?

    有时我只是讨厌使用中间件 以此为例 我想要一个查找表 将一组输入 域 值映射到输出 范围 值 映射是唯一的 Python 地图可以做到这一点 但由于地图相当大 我想为什么不使用 ps Series 及其索引 这给我带来了额外的好处 传入要映
  • 根据 pandas 中的 groupby 或循环条件划分列

    我有一个数据框 如下所示 B ID No Show Session slot num Patient count 1 0 2 S1 1 1 2 0 3 S1 2 1 3 0 8 S1 3 1 4 0 3 S1 3 2 5 0 6 S1 4
  • Python组合目录中的所有csv文件并按日期时间排序

    我有 2 年的每日数据分成每月文件 我想将所有这些数据合并到一个按日期和时间排序的文件中 我正在使用的代码组合了所有文件 但不按顺序 我正在使用的代码 import pandas as pd import glob os import cs

随机推荐

  • 编译器抱怨“错误:程序中存在杂散'\240'”[重复]

    这个问题在这里已经有答案了 我需要实现以下功能 void calc double a double b int r int c double f double 参数a r c和f是输入 b是输出 a 和 b 是具有 r 行和 c 行的二维矩
  • 如何以 ArrayList 形式检索 JDBC 结果集?

    我正在执行一个查询来检索大量 ID 整数 有没有某种方法可以简单地以 ArrayList 形式检索所有内容 而不是在 ResultSet 中迭代数百万次并将所有内容一一复制到 ArrayList 中 我知道 ResultSet 应该被迭代
  • 如何集成 Python mido 和 asyncio?

    我有一个通过 MIDI 进行文件 I O 的设备 我有一个使用 Mido 来下载文件的脚本 但它是一堆全局变量 我想整理它以正确使用 asyncio 但我不确定如何集成 mido 回调 我认为文档说我应该使用 Future 对象 但我不确定
  • 渲染脚本和 GPU

    I knowRenderscript 的设计是为了掩盖我正在运行的处理器的事实 但是有没有办法编写代码 以便在具有 GPU 计算能力的设备 目前是 Nexus 10 上 它will在 GPU 上运行 有什么方法可以判断脚本的函数正在 GPU
  • 让 Visual Studio 忽略异常?

    我在 Silverlight 4 中使用异常来验证控件的输入 当我引发无效输入异常时 VS 2010 将显示弹出窗口并停止程序 我忽略这一点并恢复程序 一切都继续正常 因为异常用于表示验证错误 有没有一种方法可以将该异常标记为忽略 我正在关
  • 将表格布局转换为 CSS 布局的最佳方法是什么?

    我即将开始开发一个具有复杂的基于表格的布局的网页 几年前编码 我想做的一件事是将布局转换为带有 div 和 span 的正确 CSS 布局 您能建议一个解决此类问题的好方法吗 我应该使用像 Blueprint 这样的 CSS 框架吗 只要进
  • 将 mp4 转换为具有透明度的 webm?

    我知道怎么做使用 ffmpeg 将 mp4 转换为 webm ffmpeg y i me939371029 mp4 r 30 out3 webm 但我想用网络管理透明度 该指南使用 Blender 但 Blender 是一个桌面工具 不容易
  • clojure - 列出列表的所有排列

    假设我有一个这样的集合 word1 word2 word3 我怎样才能列出这些单词可能排序的所有方式 即 word1 word2 word3 word2 word3 word1 word3 word2 word1 etc 最简单的方法是使用
  • ListViewItem IsSelected 绑定 - 适用于 WPF,但不适用于 WinRT

    我正在尝试将 ListViewItem 的 IsSelected 属性绑定到 ViewModel 中的属性 它在 WPF 中工作正常 但在 Windows RT 中 IsSelected 属性永远不会被设置 public class Ite
  • 为什么 git credential-osxkeychain 没有任何文档?

    这真是令人沮丧 打字git credential osxkeychain告诉我 usage git credential osxkeychain
  • 将参数传递给 Git 别名命令

    我可以将参数传递给 Git 命令的别名吗 我在 Git 配置中有一些别名 如下所示 rb1 rebase i HEAD 1 rb2 rebase i HEAD 2 rb3 rebase i HEAD 3 rb4 rebase i HEAD
  • 在 get 请求中传递 JSON 数据作为请求正文

    您好 我必须向 url 发送 get 请求 请求正文包含 json 对象 如下所示 goupid some variable 下面是一段发送get请求的java代码 URL url1 new URL http onemoredemo app
  • 自定义IdentityUserRole主键

    我正在使用 ASP NET Identity Provider 和 EF 6 Code First 并且我创建了一个自定义IdentityUserRole有额外列的表OrganisationId 自定义表名为 UserRole 该表当前的默
  • java 正则表达式 量词

    我有一个像这样的字符串 String string number0 foobar number1 foofoo number2 bar bar bar bar number3 foobar 我需要一个正则表达式来提供以下输出 number0
  • 实现支持方法链的 Scala 特征的最佳实践

    我想创建一个特征 向类添加一些属性并使链接方法成为可能 在 Scala 2 8 1 中测试 trait SomeProperty var prop String default def setProp s String prop s thi
  • Airflow 2 的 Docker 撰写文件(版本 2.0.0)

    我正在寻找编写 docker compose 文件以在类似的生产环境中本地执行气流 对于较旧的 Airflow v1 10 14 docker compose 工作正常 但相同的 docker compose 不适用于最新的稳定版本 气流调
  • Ant 类路径顺序

    如何在 ant 中设置类路径顺序 具体来说 当我尝试运行 ant 构建时 我需要它来选取 jar jaxws api jar 中的类 而不是 jre 中的同一类 我目前正在设置类路径以显式包含这些 jar 但它似乎仍然首先选择 jre 我正
  • iphone 动画:为什么围绕 X 轴旋转 UILabel 会切断其下半部分?

    我想围绕 X 轴旋转 UILabel 并为其设置动画 但是当动画开始时 标签的文本会被水平切成两半 下半部分消失 上半部分在旋转 为什么 这是代码 CATransform3D 3Dt CATransform3DMakeRotation ra
  • 如果 *any* 属性匹配,JQuery 选择元素

    我想要一个像这样的选择器 author 如果 author 是任何属性的值 而不仅仅是类的值 则将选择一个元素 E g selector text 对于以下每一页 应给出 Emily Ekins a href http reason com
  • Pyspark - 如何回填 DataFrame?

    你怎么能做同样的事情df fillna method bfill 对于带有 a 的 pandas 数据框pyspark sql DataFrame pyspark 数据框具有pyspark sql DataFrame fillna方法 但是