PySpark:随机化数据框中的行

2023-12-21

我有一个数据框,我想随机化数据框中的行。我尝试通过给出 1 的分数来对数据进行采样,但这不起作用(有趣的是,这在 Pandas 中有效)。


它在 Pandas 中有效,因为在本地系统中采样通常是通过混洗数据来解决的。另一方面,Spark 通过对数据执行线性扫描来避免洗牌。这意味着 Spark 中的采样仅随机化样本的成员而不是顺序。

您可以订购DataFrame通过一列随机数:

from pyspark.sql.functions import rand 

df = sc.parallelize(range(20)).map(lambda x: (x, )).toDF(["x"])
df.orderBy(rand()).show(3)

## +---+
## |  x|
## +---+
## |  2|
## |  7|
## | 14|
## +---+
## only showing top 3 rows

但它是:

  • 昂贵 - 因为它需要完全洗牌,而这是您通常想要避免的。
  • 可疑 - 因为 a 中的值的顺序DataFrame在重要的情况下,你不能真正依赖它,因为DataFrame不支持索引,不收集的话相对来说没什么用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PySpark:随机化数据框中的行 的相关文章

  • 将 csv 文件按多列拆分为 panda 数据框

    我有一个包含多列的 tsv 文件 有 10 多列 但对我来说重要的列是名称为 user name shift id url id 的列 我想创建一个数据框 首先根据用户名分隔整个 csv 文件 即只有具有相同用户名的行才会分组在一起 从该块
  • 尝试从 Spark 连接到 Oracle

    我正在尝试将 Oracle 连接到 Spark 并希望从某些表和 SQL 查询中提取数据 但我无法连接到 Oracle 我尝试过不同的解决方案 但没有看到 我已按照以下步骤操作 如果我需要进行任何更改 请纠正我 我使用的是 Windows
  • 连接运算符 + 或 ,

    var1 abc var2 xyz print literal var1 var2 literalabcxyz print literal var1 var2 literal abc xyz 除了带有 的自动空格之外 两者有什么区别 哪个通
  • Spark DataFrame 不尊重架构并将所有内容视为字符串

    我面临着一个多年来一直无法克服的问题 我使用的是 Spark 1 4 和 Scala 2 10 我现在无法升级 大型分布式基础设施 我有一个包含几百列的文件 其中只有 2 列是字符串 其余都是长列 我想将此数据转换为标签 特征数据框 我已经
  • 具有定期更新的静态数据集的结构化流

    将流媒体与静态数据集合并是结构化流媒体的一个重要功能 但在每个批次中 数据集都会从数据源刷新 由于这些源并不总是那么动态 因此在指定的时间段 或批次数 内缓存静态数据集会提高性能 在指定的时间段 批次数之后 将从源重新加载数据集 否则从缓存
  • 添加不同 data.frame 中缺失的列并填充 0 [重复]

    这个问题在这里已经有答案了 我有以下情况 df1 a b c d 1 2 3 4 df2 a c 5 6 我想要的结果是 用 df1 中缺失的列填充第二个 data frame 并用零填充它们 所以结果应该是 df3 a b c d 5 0
  • 在“GROUP BY”子句中重用选择表达式的结果?

    在 MySQL 中 我可以有这样的查询 select cast from unixtime t time Y m d H 00 as datetime as timeHour from some table t group by timeH
  • Pandas:根据其他多级列对最里面的列进行分组排序

    考虑下面的 df In 3771 df pd DataFrame A a 11 B b 11 C C1 C1 C2 C1 C3 C3 C2 C3 C3 C2 C2 D D1 D2 D1 D3 D3 D2 D4 D4 D1 D2 D3 E v
  • pandas:使用运算符链接过滤 DataFrame 的行

    大多数业务在pandas可以通过操作符链接来完成 groupby aggregate apply等 但我发现过滤行的唯一方法是通过普通的括号索引 df filtered df df column value 这没有吸引力 因为它需要我分配d
  • 如果新文件不存在则写入新文件,如果存在则追加到文件

    我有一个程序可以写入用户的highscore到一个文本文件 该文件由用户选择时命名playername 如果具有该特定用户名的文件已经存在 那么程序应该附加到该文件 以便您可以看到多个highscore 如果具有该用户名的文件不存在 例如
  • python 中使用 scipy 截断正态分布

    我正在尝试使用截断正态分布scipy在Python3 我想做一些简单的事情 绘制以 0 5 为中心 范围从 0 到 1 的截断法线的 pdf 我有以下代码行 from scipy import truncnorm import matplo
  • 将 Python 3 的“范围”“向后移植”到 Python 2 是一个坏主意吗?

    我的一门课程要求用 Python 完成作业 作为练习 我一直使用如下脚本确保我的程序可以在 Python 2 和 Python 3 中运行 bin bash Run some PyUnit tests python2 test py pyt
  • 如何强制 Spark 执行代码?

    我如何强制 Spark 执行对 map 的调用 即使它认为由于其惰性求值而不需要执行它 我试过把cache 与地图调用 但这仍然没有解决问题 我的地图方法实际上将结果上传到 HDFS 所以 它并非无用 但 Spark 认为它是无用的 简短回
  • 如何处理 Spark 数据框中外连接的数据倾斜

    我有两个数据框 正在对 5 列执行外连接 下面是我的数据集的示例 uniqueFundamentalSet PeriodId SourceId StatementTypeCode StatementCurrencyId FinancialS
  • Plotly:如何创建月度和年度平均下拉选项?

    我希望在 Plotly 中创建一个下拉菜单 以将原始的每日时间序列重新采样为月平均值和年平均值 总之 我期望下拉列表中有 3 个选项 第一个是绘制的原始每日时间步长 第二个是重新采样的每日数据的月平均值 第三个是可以选择的年度平均值 这是迄
  • 使用不同的阈值替换多列中的值

    我有一个包含多个列的数据集 其中包含我想要转换为二进制的定量数据 为此 我想使用每列不同的阈值 Example Input antigen1 antigen2 antigen3 antigen4 1 215 421 2 12 2 1524
  • 需要根据数据框中的行号应用不同的公式

    我正在努力在数据框中找到某种移动平均值 该公式将根据正在计算的行数而变化 实际场景是我需要计算Z列 Edit 2 以下是我正在使用的实际数据 Date Open High Low Close 0 01 01 2018 1763 95 176
  • 将列表值转换为 pandas 中的行

    我有数据帧 其中一列具有相同长度的 numpy ndarray 值 df list 0 Out 92 array 0 0 0 0 29273096 0 30691767 0 27531403 我想将这些列表值转换为数据框并从 df iloc
  • 如何根据值扩展数据框? [复制]

    这个问题在这里已经有答案了 我有以下输入数据框 df lt data frame x c a b c y c 4 5 6 from c 1 2 3 to c 2 4 6 df x y from to 1 a 4 1 2 2 b 5 2 4
  • “KMeans”对象没有属性“k”

    我使用 Yellowbrick 包绘制数据集的肘部曲线 以使用 KMeans 作为模型找到数据集的最佳簇数 我正在使用 Scikit learn KMeans 和 Yellowbrick kelbowvisualizer 函数 生成了肘部曲

随机推荐

  • android 在将数据插入数据库之前检查重复值

    String new recorded lastname a lastname record to database Cursor cursor db rawQuery SELECT lastname FROM people null if
  • 如何在 C 中一次清除多个位?

    我如何将所有这些简化为一行 REG BITA REG BITB REG BITC REG BITD REG BITE 您可以使用 按位或 运算符 REG BITA BITB BITC BITD BITE
  • 如何从 Map> 创建 Multimap

    我没有找到这样的多重映射构造 当我想这样做时 我会迭代映射 并填充多重映射 还有其他办法吗 final Map
  • NSOutlineView 组间距

    我正在开发 NSOutlineView SourceList 并希望用我自己的样式替换当前样式 以便更好地查看我的应用程序 我已经使用自定义 NSTableViewRows 更改了默认标题和内容单元格 这很好用 但现在我可以看到组之间有一个
  • 在 WebView 中禁用邮寄地址的自动链接

    android WebView 将自动检测 html 中的邮寄地址 并允许您单击它来启动地图 有没有办法在不更改本机代码的情况下禁用此功能 我可以在 html 标记中添加一些内容或取消 javascript 事件来防止这种情况发生吗 如果我
  • Angular 6 / 在 tsconfig.lib.json 中声明库的路径

    我正在尝试配置路径Angular 6库 我已经成功配置了以前的 Angular 项目的路径 这是我以前的应用程序的工作原理tsconfig json file compilerOptions baseUrl src paths class
  • 变量多态性的初始化

    假设您有以下代码 class A int i 4 A print void print System out println A class B extends A int i 2 this line public static void
  • 更新后的状态值不会在反应函数内部更新

    反应状态更新值显示在使用效果中 但内部函数仅显示旧值 const counter setCounter useState 0 我正在尝试更新设定间隔函数内的计数器值 const handleIncrease gt clearInterval
  • 规范模式对象应该在哪一层“更新”?

    因此 我在这里查看了一些有关规范模式的帖子 但尚未找到此问题的答案 我的问题是 在 n 层架构中 我的规范到底应该在哪里 更新 我可以将它们放在我的服务层 又名 应用程序层 有时被称为 基本上 aspx 代码隐藏会与之对话的东西 中 但我觉
  • 在自定义视图 onDraw 中使用硬件层

    所以我试图了解如何在自定义中正确使用硬件加速 如果可用 View那是持续的动画 这是我的基本前提onDraw canvas drawColor mBackgroundColor for Layer layer mLayers canvas
  • Doctrine2 映射:2 个字段映射到 1 个字段(ManyToOne)

    我有 2 个实体 即比赛和团队 一支球队可以进行一对多的比赛 但是 我的 Match 实体由 2 个字段组成 它们引用同一实体 Team 他们是 homeTeam 和 awayTeam 如何将团队中的同一字段 matches 引用为双向关系
  • Pyinstaller 和 py2exe 导致错误:“元组索引超出范围”

    这是我第一次使用 Pyinstaller 所以请耐心等待 为什么下面的结果会出错呢 我如何解决它 我正在尝试将我编写的python程序转换为windows exe C WINDOWS system32 gt pyinstaller C Us
  • 从窗口引用子用户控件中的网格

    我使用 ItemsControl 将许多用户控件添加到我的主窗口 这工作正常 但我想在将控件添加到 ItemsControl 时添加动画 我正在使用此线程中的代码 以动画方式插入 ItemsControl https stackoverfl
  • SBT 0.13.1 离线

    我试图了解 SBT 0 13 1 离线使用 我的目标是将离线环境所需的一切都存储在 U 盘上 我认为如果复制了 ivy 缓存 那么 SBT 就可以从中提取所需的所有内容 但情况似乎并非如此 例如 为了确定起见 我将首先删除 ivy2 文件夹
  • 应用程序 SQLite DB 存储在 Android 上的哪里

    我试图确定 Android 手机上应用程序 SQLite 数据库的存储位置 我正在测试 需要能够删除它并测试创建代码 在模拟器上 它位于 data data app package name something db 中 但我无法在实际手机
  • Java 7 自动资源管理 JDBC(try-with-resources 语句)

    如何将创建 接收连接 查询数据库以及可能处理结果的常见 JDBC 习惯与 Java 7 的自动资源管理 try with resources 语句 集成 Tutorial http docs oracle com javase tutori
  • spring 手动销毁bean而不是ctx.close()

    是否可以告诉spring的容器销毁特定的bean 原型 以节省内存 我不想使用 ctx close 来看到这个 bean 被销毁 而是在运行时 如果我理解正确的话 你想删除运行时在 ctx 中定义的 bean 我会使用BeanDefinit
  • 有没有办法通过appSetting配置来配置多个Serilog RollingFiles

    有没有办法通过appSetting配置多个Serilog RollingFiles 我想为信息和错误级别创建单独的日志文件 在应用程序设置中配置多个日志非常简单 任务是使用过滤器 我花了近 3 个小时试图弄清楚如何实现这一点 我最终做了以下
  • Docker 卷与 Kubernetes 数据库持久卷

    Docker 镜像和 Kubernetes 集群都具有在主机 单独的容器或某种形式的云 网络存储机制上配置持久存储的机制 我试图了解它们在用例上有何不同 以及为什么您会使用其中一种而不是另一种 对于上下文 我还更多地考虑事务数据库持久性 而
  • PySpark:随机化数据框中的行

    我有一个数据框 我想随机化数据框中的行 我尝试通过给出 1 的分数来对数据进行采样 但这不起作用 有趣的是 这在 Pandas 中有效 它在 Pandas 中有效 因为在本地系统中采样通常是通过混洗数据来解决的 另一方面 Spark 通过对