当前位置: 首页 > 知识库问答 >
问题:

如何在python中操作火花数据帧?[重复]

邵阳辉
2023-03-14

有一个spark_df有许多重复如下:

Name       Cost
Alicja     5
Alicja     10
Alicja     7
Piotr      2
Piotr      8
Jon        5

现在我想将这个spark_df转换如下:

Name       min_Cost  max _cost
Alicja     5            10
Piotr      2            8
Jon        5            5

我在熊猫身上知道这一点。但是我正在努力学习火花,这样我就可以把它实施到大数据中。如果有人能帮忙,那就太好了。

共有1个答案

裴楚青
2023-03-14

使用groupby为每个Name聚合minmax

import pyspark.sql.functions as f

df.groupby('Name').agg(
  f.min('Cost').alias('min_cost'), 
  f.max('Cost').alias('max_cost')
).show()
+------+--------+--------+
|  Name|min_cost|max_cost|
+------+--------+--------+
| Piotr|       2|       8|
|Alicja|       5|      10|
|   Jon|       5|       5|
+------+--------+--------+
 类似资料:
  • 在PySpark中或者至少在Scala中,Apache Spark中是否有与Pandas Melt函数等价的函数? 到目前为止,我一直在用Python运行一个示例数据集,现在我想对整个数据集使用Spark。

  • 我想过滤掉具有“c2”列前3个字符的记录,无论是“MSL”还是“HCP”。 所以输出应该如下所示。 有谁能帮忙吗? 我知道df。过滤器($c2.rlike(“MSL”))--用于选择记录,但如何排除记录? 版本:Spark 1.6.2 Scala:2.10

  • 我想在spark中读取一个CSV,将其转换为DataFrame,并使用将其存储在HDFS中 在Apache Spark中将CSV文件加载为DataFrame的正确命令是什么?

  • 类似的问题,但没有足够的观点来评论。 根据最新的Spark文档,< code>udf有两种不同的用法,一种用于SQL,另一种用于DataFrame。我找到了许多关于如何在sql中使用< code>udf的例子,但是还没有找到任何关于如何在数据帧中直接使用< code>udf的例子。 o.p.针对上述问题提供的解决方案使用,这是,将根据Spark Java API文档在Spark 2.0中删除。在那

  • 我正在尝试使用Apache Spark,以便将具有多个连接和子选择的(大型)SQL查询的结果加载到来自Spark的DataFrame中,如从SQL查询创建Spark Dataframe中所述。 不幸的是,我这样做的尝试导致了拼花错误: 线程“main”组织中出现异常。阿帕奇。火花sql。AnalysisException:无法推断拼花地板的架构。必须手动指定。 我从谷歌看到的信息表明,当数据帧为空

  • [新加入Spark]语言-Scala 根据文档,RangePartitioner对元素进行排序并将其划分为块,然后将块分发到不同的机器。下面的例子说明了它是如何工作的。 假设我们有一个数据框,有两列,一列(比如“a”)的连续值从1到1000。还有另一个数据帧具有相同的模式,但对应的列只有4个值30、250、500、900。(可以是任意值,从1到1000中随机选择) 如果我使用RangePartit