-1
votes

Comment renommer plusieurs noms de colonne comme une colonne unique?

J'ai une table qui a des colonnes [col1, col2, col3 .... col9]. Je veux fusionner toutes les données de colonnes dans une colonne en une colonne en Python?


3 commentaires

Utilisez-vous Pandas ou Pyspark?


J'utilise Pyspark


Dupliqué possible de Concat multiples colonnes d'un Dataframe à l'aide de Pyspark


3 Réponses :


0
votes

In Spark (Pyspark) Pour des raisons, il n'y a pas de modification de données existantes. Ce que vous pouvez faire est de créer une nouvelle colonne. Veuillez vérifier le lien suivant.

Comment puis-je Ajoutez une nouvelle colonne à une étincelle Dataframe (à l'aide de Pyspark)?

Utilisation d'une fonction UDF , vous pouvez regrouper / combiner toutes ces valeurs d'une ligne et vous retourner comme une valeur unique.

Peu de précautions, veuillez rechercher des problèmes de données suivants tandis que l'agrégation

  1. valeurs null
  2. MISMATCHES DE TYPE
  3. String Coding Problèmes

0 commentaires

2
votes
from pyspark.sql.functions import concat

values = [('A','B','C','D'),('E','F','G','H'),('I','J','K','L')]
df = sqlContext.createDataFrame(values,['col1','col2','col3','col4'])
df.show()

+----+----+----+----+
|col1|col2|col3|col4|
+----+----+----+----+
|   A|   B|   C|   D|
|   E|   F|   G|   H|
|   I|   J|   K|   L|
+----+----+----+----+

req_column = ['col1','col2','col3','col4']
df = df.withColumn('concatenated_cols',concat(*req_column))
df.show()

+----+----+----+----+-----------------+
|col1|col2|col3|col4|concatenated_cols|
+----+----+----+----+-----------------+
|   A|   B|   C|   D|             ABCD|
|   E|   F|   G|   H|             EFGH|
|   I|   J|   K|   L|             IJKL|
+----+----+----+----+-----------------+

0 commentaires

1
votes

Utilisation de Spark SQL

new_df = df.withColumn('joined_column', concat(col('col1'),col('col2'),col('col3'),col('col4'))


0 commentaires