Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用pyspark计算连续值?_Python_Pyspark - Fatal编程技术网

Python 如何使用pyspark计算连续值?

Python 如何使用pyspark计算连续值?,python,pyspark,Python,Pyspark,我试图计算Pyspark列中出现的连续值。我的数据框中有列“a”,希望创建列“b” 我曾尝试在某个窗口上创建带有滞后函数的列“b”,但没有成功 w = Window\ .partitionBy(df.some_id)\ .orderBy(df.timestamp_column) df.withColumn( "b", f.when(df.a == f.lag(df.a).over(w), f.sum(f.lit(1)).over(w)).otherwise(f

我试图计算Pyspark列中出现的连续值。我的数据框中有列“a”,希望创建列“b”

我曾尝试在某个窗口上创建带有滞后函数的列“b”,但没有成功

w = Window\
  .partitionBy(df.some_id)\
  .orderBy(df.timestamp_column)

df.withColumn(
  "b",
  f.when(df.a == f.lag(df.a).over(w),
         f.sum(f.lit(1)).over(w)).otherwise(f.lit(0))
)

我可以使用以下代码解决此问题:

df.withColumn("b",
  f.row_number().over(Window.partitionBy("a").orderBy("timestamp_column"))
df.with column(“b”,F.row_number()。over(Window.partitionBy(“a”)。orderBy(“a”))。show()
?例如,0是否可以稍后重复?列“a”已排序。窗口按发生的日期和时间排序@anky实际上你的代码帮助我达到了预期的效果!!!我很快就会把问题的答案贴出来。非常感谢。
df.withColumn("b",
  f.row_number().over(Window.partitionBy("a").orderBy("timestamp_column"))