Apache Spark Substring函数在Dataframe中的使用

41zrol4v  于 2023-04-07  发布在  Apache
关注(0)|答案(1)|浏览(146)

希望在工作表中使用长度列填充新列
df=df.withColumn(“CityName”,df.Address.substr(1,F.col(“Length”)))
但它抛出了错误
TypeError:startPos和length必须是相同的类型。分别得到了〈class 'int'〉和〈class ' pyspark.sql.column.Column'〉。

nnsrf1az

nnsrf1az1#

试试这个:

import pyspark.sql.functions as f

df = spark.createDataFrame([
    ('Calgary', 2)
], ['CityName', 'Length'])

df = (
    df
    .withColumn('test', f.expr('substring(CityName, 2, Length)'))
)

相关问题