如何在pyspark Dataframe中合并具有相同名称的不区分大小写的列?

时间:2016-11-04 22:03:11

标签: python apache-spark pyspark

在pyspark Dataframe中连接两个具有相同列名但不区分大小写的列的方法是什么。

Example: 

If i have a dataframe like below where Apple and apple are two different columns

+---------------+
|  Apple apple  |
+---------------+
| red   white   |
| blue   yellow |
| pink   blue   |
+---------------+

将其与分隔符合并,并将值排序为

+---------------+
|    Apple      |
+---------------+
| red,white     |
| blue,yellow   |
| pink,blue     |
+---------------+

2 个答案:

答案 0 :(得分:0)

PDFViewCtrl.SetThinLineAdjustment(true, true);

答案 1 :(得分:-1)

您可以使用withColumn(“newColumnName”,)

创建新列

udf函数应该是接收2个字符串并连接它们的东西。

在scala中会是这样的:

val concat = udf {(str1:String,str2:String)=> str1 + str2}

然后你会称之为:

df.withColumn(“newColumnName”,concat(col(“APPLE”),col(“apple”))

请记住:  1.导入col和udf的sql spark函数包。  2.设置sqlContext.sql(“set spark.sql.caseSensitive = true”),因此它不需要APPLE == apple。  你可以放下APPLE和苹果专栏。所以你只有一个(新专栏)