gpt4 book ai didi

azure - 数据 block 中的枢轴问题

转载 作者:行者123 更新时间:2023-12-03 06:46:18 26 4
gpt4 key购买 nike

我有包含值的数据框表:

id      Country               Interest
00 Russian Digestion;Destillation

我想在Python中的azure databricks中旋转“兴趣”列并命名新列,如下所示:

id    Country     Int                  Interest
00Q7 Russ Digestion Digestion;Destillation
00Q7 Russ Destillation Digestion;Destillation

请告知如何完成

问候RK

最佳答案

我使用以下代码创建了一个与您类似的示例数据框:

data = [['00Q7','Russian Federation','Digestion;Destillation'],['00Q6','United States','Oils;Automobiles']]

df = spark.createDataFrame(data=data,schema = ['id','country','interests'])
display(df)

enter image description here

  • 为了获得所需的输出(如您的输出),首先我使用 pyspark.sql.functions.split 拆分了 interests 列中的数据。
from pyspark.sql.functions import split,col

df1 = df.withColumn("interest", split(col("interests"), ";"))
display(df1)

enter image description here

  • 现在我已经使用 pyspark.sql.functions.explode 分解了新列 interest 以获得所需的输出。
from pyspark.sql.functions import explode
op = df1.withColumn('interest',explode(col('interest')))
display(op)

enter image description here

更新:

data = [['00Q7','Russian Federation','01_Digestion;02_Destillation']]

df = spark.createDataFrame(data=data,schema = ['id','country','interests'])
#display(df)

from pyspark.sql.functions import split,col
df1 = df.withColumn("interest", split(col("interests"), ";"))

from pyspark.sql.functions import explode
op = df1.withColumn('interest',explode(col('interest')))

#UPDATE
from pyspark.sql.functions import concat,lit

op.withColumn("set",concat(lit('Set'),split(col('interest'),'_').getItem(0))).show(truncate=False)

enter image description here

更新2:

pdf['set']= pdf['interest'].str.split('_').str[0]

import numpy as np
pdf["set"] = np.where(pdf["set"].astype(int)<10 , 'Set'+pdf['set'].str[1], 'Set'+pdf['set'])

关于azure - 数据 block 中的枢轴问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74098832/

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