TypeError: 'DataFrame' objet ne prend pas en charge l'élément de cession lors de l'utilisation de la division

0

La question

TypeError: 'DataFrame' objet ne prend pas en charge l'élément de cession lors de l'utilisation de la division.

La division de deux colonnes de type entier dans un pyspark dataframe et la réception de cette erreur. Des idées?

enter image description here

Reproductible:

simpleData = (((1, 2), (2, 6), (3, 6))
columns= ["sales","users"]
df = spark.createDataFrame(data = simpleData, schema = columns)
df = df.withColumn("users", df["users"].cast(IntegerType()))
df = df.withColumn("sales", df["sales"].cast(IntegerType()))
df['buy_rate'] = df['sales']/ df['users']
databricks division pyspark
2021-11-23 19:30:39
1

La meilleure réponse

1

juste un petit tweak .

from pyspark.sql.types import IntegerType
import pyspark.sql.functions as F
simpleData=((1, 2), (2, 6), (3, 6))
columns= ["sales","users"]
df = spark.createDataFrame(data = simpleData, schema = columns)
df = df.withColumn("users", df["users"].cast(IntegerType()))
df = df.withColumn("sales", df["sales"].cast(IntegerType()))

df1 = df\
    .withColumn("buy_rate", (F.col("sales") / F.col("users")))
display(df1)

enter image description here

2021-11-23 20:01:03

Grâce Karthik, et une très bonne approche avec la cession de la nouvelle colonne dans la withColumn() cela a fonctionné à merveille.
Greg

meilleurs voeux Greg !!
Karthikeyan Rasipalay Durairaj

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................