scala - Scala ,带有值列表的 Dataframe 列,我想将每个值创建为新列并想命名它
问题描述
我有一个下面给出的数据框列。
House_No = INT
family_details = ["name" , age , "surname" , weight]
Ownership = Boolean
我想用姓名、年龄、姓氏和体重为数据框创建新列。
House_No
family_details
Ownership
name
age
surname
weight
解决方案
以下解决方案将为您提供帮助:
val data = Array((2,Array("abc","23","xyz","70"),true),(3,Array("lmn","45","pqr","50"),false))
val rdd = sc.parallelize(data)
val df = rdd.toDF("house_no","family_details","ownership")
val res = df.select("house_no","ownership","family_details").withColumn("name", split($"family_details" (0), ",")(0)).withColumn("age", split($"family_details"(1), ",")(0)).withColumn("surmname", split($"family_details"(2), ",")(0)).withColumn("Weight", split($"family_details"(3), ",")(0)).drop("family_details")
推荐阅读
- css - 使用伪 :after-element 创建三角形颜色叠加
- kubernetes - K8s 服务无法ping通
- python - 基于验证损失和验证准确率保存 keras 模型
- angular - 类型 HTTPOriginal 不可分配给类型 Provider,插件安装后出现离子错误
- android-studio - Flutter Android studio build failing
- android - 在改造验证器中使用协程
- python - 在 numpy 数组中,dtype np.datetime64 或 pandas object datetime.date 更快吗?
- kotlin - 是否有一种优雅的 kotlin 方式可以让编译器相信我刚刚为其分配了真实值的可空字段不能再为空?
- java - 'Stock stock = new Stock("HR.S")' 如何导致输出?
- ionic-framework - WebRTC 通话后 WhatsApp 语音消息不起作用