由于其优越的Spark处理能力,我来自R和tidyverse到PySpark,我正在努力将某些概念从一个上下文映射到另一个上下文.
特别是,假设我有一个如下所示的数据集
x | y
--+--
a | 5
a | 8
a | 7
b | 1
Run Code Online (Sandbox Code Playgroud)
我想添加一个包含每个x值的行数的列,如下所示:
x | y | n
--+---+---
a | 5 | 3
a | 8 | 3
a | 7 | 3
b | 1 | 1
Run Code Online (Sandbox Code Playgroud)
在dplyr中,我只想说:
import(tidyverse)
df <- read_csv("...")
df %>%
group_by(x) %>%
mutate(n = n()) %>%
ungroup()
Run Code Online (Sandbox Code Playgroud)
就是这样.如果我想按行数总结一下,我可以在PySpark中做一些简单的事情:
from pyspark.sql import SparkSession
from pyspark.sql.functions import col
spark = SparkSession.builder.getOrCreate()
spark.read.csv("...") \
.groupBy(col("x")) …Run Code Online (Sandbox Code Playgroud)