Python 如何使用udf计算pyspark数据帧的逆?

Python 如何使用udf计算pyspark数据帧的逆?,python,pandas,pyspark,apache-spark-sql,user-defined-functions,Python,Pandas,Pyspark,Apache Spark Sql,User Defined Functions,抱歉,我是PySpark的新手,这似乎不是一个简单的操作 如果我有这样一个PySpark数据帧: +-----+-----+-----+-----+------+ |index| _1 | _2 | ... |_10000| +-----++-----+-----+-----+-----+ | 1 | 0.1 | 0.5 | ... | 0.9 | | 2 | 0.2 | 0.2 | ... | 0.1 | | 3 | 0.

抱歉,我是PySpark的新手,这似乎不是一个简单的操作

如果我有这样一个PySpark数据帧:


    +-----+-----+-----+-----+------+
    |index| _1  | _2  | ... |_10000| 
    +-----++-----+-----+-----+-----+
    | 1   | 0.1 | 0.5 | ... | 0.9  |
    | 2   | 0.2 | 0.2 | ... | 0.1  |
    | 3   | 0.4 | 0.4 | ... | 0.3  |
    | 4   | 0.7 | 0.2 | ... | 0.2  |
    | ..  | ... | ... | ... | ...  |
    |10000| 0.4 | 0.5 | 0.3 | 0.4  |
    +-----+-----+-----+-----+------+ 10000x10000
此Pyspark数据帧具有10000x1000行和列。我想计算数据帧的倒数。我试图寻找资源,但找不到任何实现。我想知道如何使用pandas_udf来实现。我也愿意接受任何其他方法

我正在64核的databricks和Pyspark 3.0.0中运行代码

例如,可以使用以下代码生成数据帧:


from pyspark.sql.functions import desc, row_number, monotonically_increasing_id
from pyspark.sql.window import Window
import numpy as np
n = 10000
df = spark.createDataFrame(
    sc.parallelize([[np.random.rand() for i in range(0, n)] for j in range(0,n)]), 
)
df.withColumn('index', row_number().over(Window.orderBy(monotonically_increasing_id()))).show()


在数据帧中也添加了id。我该怎么办@麦凯:也许你可以澄清一下“数据帧的倒数”是什么意思?