如何在pyspark数据框列上应用功能

时间:2020-01-03 04:39:59

标签: python-3.x dataframe pyspark

我正在尝试将我的熊猫代码转换为pyspark数据框,并尝试在该数据框的一列上应用功能。 我在熊猫数据框中做了如下操作。在按如下所示操作一些列值之后,将新列添加到pandas数据框中。

from currency_converter import CurrencyConverter

def convert_USD_INR(row):
     USD_amount = c.convert(row['Sales'], 'INR', 'USD', date=date(row['Calendar year'], row['Calendar month'], 1))
return USD_amount

salesData['Sales (INR)'] = salesData.apply(convert_USD_INR, axis=1)

有人可以帮我指出将其转换为pyspark数据框的任何示例吗?基本上我想在pyspark dataframe列上应用一个函数。谢谢。

1 个答案:

答案 0 :(得分:0)

是,谢谢,我设法按以下步骤完成。如果这对某人有用,则共享解决方案。

from currency_converter import CurrencyConverter
from pyspark.sql.functions import *

def convert_USD_INR(sales, year, month):
     USD_amount = c.convert(sales, 'INR', 'USD', date=date(year, month, 1))
return USD_amount

convert_USD_INR_udf = udf(convert_USD_INR, DoubleType())

salesData = salesData.withColumn('Sales(INR)', gross_convert_AUD_USD_udf(salesData['sales'], salesData['year'], salesData['month']))