python-3.x - 如何在 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 数据框列上应用一个函数。谢谢。
解决方案
是的,谢谢我设法完成如下。如果这对某人有用,请分享解决方案。
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']))
推荐阅读
- python - Tkinter .set 和 .get 在窗口内的窗口中不起作用
- javascript - Javascript 函数具有可选的第一个参数,但传递了第二个参数
- c# - 带有 OpenXML 的 Word 文档中具有编号格式的段落的自定义样式
- python-3.x - 在 python 中使用 imagej 时导入模块 jnius 出错
- javascript - mongodb updateMany 使用正确用户的新分数更新数组对象
- python - 在 python 中使用 unittest 测试类初始化器
- java - 如何实现在深色背景上运行的 ProgressBar?
- python - 无法将字符串转换为浮点错误,在 csv 文件中给出名称数字
- java - 我如何执行 Taurus junit?
- prolog - 为什么在定义转换两个原子关系的谓词时会出现超出堆栈限制的错误?