Pyspark: Boruyla ayrılmış sütun birden çok satıra nasıl bölünür? [çiftleme]
Aug 18 2020
Aşağıdakileri içeren bir veri çerçevem var:
movieId / movieName / genre
1 example1 action|thriller|romance
2 example2 fantastic|action
Aşağıdakileri içeren ikinci bir veri çerçevesi (ilkinden) almak istiyorum:
movieId / movieName / genre
1 example1 action
1 example1 thriller
1 example1 romance
2 example2 fantastic
2 example2 action
Bunu pyspark kullanarak nasıl yapabiliriz?
Yanıtlar
1 Shu Aug 18 2020 at 08:41
Kullanım split
işlevi bir dönecektir array
ardından explode
dizi fonksiyonu.
Example:
df.show(10,False)
#+-------+---------+-----------------------+
#|movieid|moviename|genre |
#+-------+---------+-----------------------+
#|1 |example1 |action|thriller|romance|
#+-------+---------+-----------------------+
from pyspark.sql.functions import *
df.withColumnRenamed("genre","genre1").\
withColumn("genre",explode(split(col("genre1"),'\\|'))).\
drop("genre1").\
show()
#+-------+---------+--------+
#|movieid|moviename| genre|
#+-------+---------+--------+
#| 1| example1| action|
#| 1| example1|thriller|
#| 1| example1| romance|
#+-------+---------+--------+
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'