当前位置: 首页 > 知识库问答 >
问题:

我可以将spark dataframe作为参数发送到pandas UDF吗

卫飞鹏
2023-03-14
import pandas as pd
from pyspark.sql import SparkSession
from pyspark.sql.functions import pandas_udf



spark = SparkSession \
    .builder \
    .appName("PrimeBatch") \
    .master("local[*]") \
    .getOrCreate()

srcFile = <Some CSV file>
df = spark.read.option("header",True)\
    .csv(srcFile)

# Declare the function and create the UDF
@pandas_udf("Count int")
def count_udf(v: pd.DataFrame) -> pd.DataFrame:
    return v.count()

p_df = count_udf(df)
p_df

提前感谢!!!

共有1个答案

周宸
2023-03-14

通常,Pandas UDF将采用Pandas.series。您定义的count_udf函数只是一个普通函数,它接受一个pandas DataFrame并返回一个pandas DataFrame。

如果您想将spark DataFrame转换为pandas DataFrame,那么您可以尝试以下方法

pandas_df  = df.toPandas()

您可以参考以下链接来更好地理解如何应用熊猫UDF:

    null
 类似资料:
  • 美国东部时间2019.05.14下午4:54更新-好的-下面是说明我的问题的代码-可能我花了太长时间才得到这个,而且可能太长了,但我还是Java新手。无论如何——它可以工作,打开窗体,但无法让第二个按钮看到并对“事件”做出反应。我想我现在是在“提高”活动,好吧——至少它在活动中达到了标准。但是,它仍在运行类代码,而不是通过setOnFormStateChange传入的“自定义”代码????我不确定

  • 问题内容: 我有一个非常长的数组和字符串,我想通过Alamofire发送,尽管我不知道如何将原始JSON作为参数发送。JSON看起来有点像 除了让它表现得像Swift数组然后进行序列化外,还有什么方法可以将这个JSON作为Alamofire中的参数传递? 谢谢! 编辑: 我能够在文本编辑器中发挥一些魔力来获取以Swift数组样式设置的参数(如所示),因此根据Eric的建议,将和制作成Diction

  • 我需要的是发送一个或一些可以包含多个有序数据的东西,这些数据将在中读取到

  • 问题内容: 我希望能够创建如下功能: 这里的问题是,在方法中将其视为,因此是的单个参数,而我希望每个in 都作为新参数传递。由于也是带有可变参数的方法,因此应该可行。 如果这不可能,是否有类似的方法?在那种情况下,我可以先使用一个新数组,然后将其传递给该方法。 问题答案: 可变参数方法的基本类型 是 。Sun以这种方式添加了varargs,以保持向后兼容性。 所以,你应该只能够预先考虑到和呼叫。

  • 问题内容: 我有一个用于更新数据库表的对象,但是它不能正确解释我的空值。 这是SQL: 我已经尝试过像这样可以为空的null合并参数,但是我没有取得任何成功。除非另有说明,否则所有参数均为字符串: 我得到这样的异常: 在将每个参数添加到SqlCommand对象以设置DbNull.Value(如果参数值为null)之后,我还尝试遍历每个参数,如下所示: 但是,这种方法导致异常: 将空参数传递给a的最

  • 问题内容: 在Java中,我可以做类似的事情 然后稍后在方法中“运行”代码。处理(匿名内部类)很痛苦,但是可以做到。 Go是否有可以促进函数/回调作为参数传递的内容? 问题答案: 是的,请考虑以下示例: 播放:http://play.golang.org/p/XNMtrDUDS0 导览:https : //tour.golang.org/moretypes/25(函数闭包)