gpt4 book ai didi

dataframe - Pyspark 货币转换器

转载 作者:行者123 更新时间:2023-12-04 02:57:04 26 4
gpt4 key购买 nike

我有一个数据框 df像这样:

df.show()

输出:
+-----+--------+----------+
|price|currency| date|
+-----+--------+----------+
| 10| USD|2018-07-03|
| 10| USD|2018-03-19|
| 8| SEK|2018-07-10|
| 10| NOK|2018-05-25|
| 5| EUR|2018-05-13|
+-----+--------+----------+

我想转换每个 priceEUR并放入列 price_eur ,按规定 date .
+-----+--------+----------+---------+
|price|currency| date|price_eur|
+-----+--------+----------+---------+
| 10| USD|2018-07-03| 8.57|
| 10| USD|2018-03-18| 8.12|
| 8| SEK|2018-07-10| 0.78|
| 10| NOK|2018-05-25| 1.05|
| 5| EUR|2018-05-13| 5|
+-----+--------+----------+---------+

有谁知道这样做的有效方法?

同时有 pandas数据框我可以简单地使用 CurrencyConverter python API , 我在 pyspark 中找不到方法.

最佳答案

创建一个 udf 并使用相同的 API。

from currency_converter import CurrencyConverter
import pyspark.sql.functions as F
from pyspark.sql.types import FloatType

c = CurrencyConverter()
convert_curr = F.udf(lambda x,y : c.convert(x, y, 'EUR'), FloatType())
df = df.withColumn('price_eur', convert_curr('price', 'currency'))

编辑:

首先使用以下命令安装python包,
pip install currencyconverter

关于dataframe - Pyspark 货币转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52659955/

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