gpt4 book ai didi

pyspark - 列(标题)子字符串在 pyspark 中替换

转载 作者:行者123 更新时间:2023-12-03 23:46:47 25 4
gpt4 key购买 nike

  • 我想通过替换子字符串来重命名列名。

    在下面的示例中,我必须从每列中删除“xy”。
    是否有任何预定义的函数或者我需要创建 UDF 吗?

  • xy.col1   xy.col2
    2 3
    3 5
    4 4
    5 8

    最佳答案

    您可以通过制作原始列名和清理过的列名的字典来做到这一点(这里我在点上拆分并在拆分后选择正确的字符),这样做时还要注意反引号,因为列中有一个点“``

    import pyspark.sql.functions as F

    d = dict(zip(df.columns,[i.split('.')[-1] for i in df.columns]))
    df.select(*[F.col(f"`{k}`").alias(v) for k,v in d.items()]).show()
    +----+----+
    |col1|col2|
    +----+----+
    | 2| 3|
    | 3| 5|
    | 4| 4|
    | 5| 8|
    +----+----+

    关于pyspark - 列(标题)子字符串在 pyspark 中替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62233500/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com