Ich habe zwei SparkR DataFrames, newHiresDF
und salesTeamDF
. Ich möchte eine Teilmenge von newHiresDF
basierend auf den Werten von newHiresDF$name
, die in salesTeamDF$name
sind, aber ich kann nicht herausfinden, eine Möglichkeit, dies zu tun. Unten ist der Code für meine Versuche.Subsetting SparkR DataFrame basierend auf Spaltenwerten, die den Spaltenwerten eines anderen DataFrames entsprechen
#Create DataFrames
newHires <- data.frame(name = c("Thomas", "George", "Bill", "John"),
surname = c("Smith", "Williams", "Brown", "Taylor"))
salesTeam <- data.frame(name = c("Thomas", "Bill", "George"),
surname = c("Martin", "Clark", "Williams"))
newHiresDF <- createDataFrame(newHires)
salesTeamDF <- createDataFrame(salesTeam)
display(newHiresDF)
#Try to subset newHiresDF based on name values in salesTeamDF
#All of the below result in errors
NHsubset1 <- filter(newHiresDF, newHiresDF$name %in% salesTeamDF$name)
NHsubset2 <- filter(newHiresDF, intersect(select(newHiresDF, 'name'),
select(salesTeamDF, 'name')))
NHsubset3 <- newHiresDF[newHiresDF$name %in% salesTeamDF$name,] #This is how it would be done in R
#What I'd like NHsubset to look like:
name surname
1 Thomas Smith
2 George Williams
3 Bill Brown
PySpark-Code funktioniert auch, wenn Sie das bevorzugen.
Gerade realisiert dies ist ein nahes Duplikat von https://stackoverflow.com/questions/43095208/subset-dataframe-based-on-matching-values-in-another-dataframe-pyspark-1-6- 1 aber das wurde auch nicht beantwortet. –