小编id1*_*112的帖子

PySpark python问题:Py4JJavaError:调用o48.showString时发生错误

大家好我正在研究PySpark Python,我已经提到了代码并遇到了一些问题,我想知道是否有人知道以下问题?

windowSpec = Window.partitionBy(df_Broadcast['id']).orderBy(df_Broadcast['id'])
windowSpec

IdShift = lag(df_Broadcast["id"]).over(windowSpec).alias('IdShift')

df_Broadcast = df_Broadcast.withColumn('CheckId', df_Broadcast[idI'] != IdShift)

df_Broadcast.show()
Run Code Online (Sandbox Code Playgroud)

这是我的一段代码,它将返回bool值为true false,当我第一次运行此代码时,它工作正常,但重新启动内核后,这就是我得到的错误.

---------------------------------------------------------------------------
Py4JJavaError                             Traceback (most recent call last)
<ipython-input-11-2d28913c9e2c> in <module>()
----> 1 df_Broadcast.show()

~/anaconda3/lib/python3.6/site-packages/pyspark/sql/dataframe.py in show(self, n, truncate)
    334         """
    335         if isinstance(truncate, bool) and truncate:
--> 336             print(self._jdf.showString(n, 20))
    337         else:
    338             print(self._jdf.showString(n, int(truncate)))

~/anaconda3/lib/python3.6/site-packages/py4j/java_gateway.py in __call__(self, *args)
   1131         answer = self.gateway_client.send_command(command)
   1132         return_value = get_return_value(
-> 1133             answer, self.gateway_client, self.target_id, self.name)
   1134 
   1135         for temp_arg in temp_args:

~/anaconda3/lib/python3.6/site-packages/pyspark/sql/utils.py in deco(*a, …
Run Code Online (Sandbox Code Playgroud)

python-3.x pyspark

8
推荐指数
1
解决办法
3万
查看次数

ValueError:索引必须是单调的

dfdata.Speed.rolling('60T', closed='right').sum()
Run Code Online (Sandbox Code Playgroud)

我试图在这一列上应用滚动总和,并整理出整个数据,但仍然遇到相同的错误。谁能帮我解决一下??数据中索引列的第一个日期和时间列,第二个是普通列。这就是为什么它看起来有点重复。

DateTime            DateTime            Speed       distance    IDs totalHours          
2011-01-01 00:19:00 2011-01-01 00:19:00 0.041916    0.000710    19  0.016944
2011-01-01 00:20:00 2011-01-01 00:20:00 0.033719    0.000562    19  0.016667
2011-01-01 00:20:59 2011-01-01 00:20:59 0.153553    0.002517    19  0.016389
2011-01-01 00:21:59 2011-01-01 00:21:59 0.142272    0.002371    19  0.016667
2011-01-01 00:23:00 2011-01-01 00:23:00 0.033166    0.000562    19  0.016944
2011-01-01 00:24:00 2011-01-01 00:24:00 0.037843    0.000631    19  0.016667
2011-01-01 00:26:00 2011-01-01 00:26:00 0.050262    0.001675    19  0.033333
2011-01-01 00:27:00 2011-01-01 00:27:00 0.032249    0.000537    19  0.016667
2011-01-01 00:27:59 2011-01-01 00:27:59 0.180206    0.002953    19 …
Run Code Online (Sandbox Code Playgroud)

time-series python-3.x pandas

5
推荐指数
1
解决办法
1506
查看次数

在 PySpark Python 中减去两个日期列

我正在尝试PySpark Dataframe在 Python 中减去两列我在做这件事时遇到了很多问题,我将列类型作为时间戳,该列是date1 = 2011-01-03 13:25:59并且想要从其他日期列中减去它,date2 = 2011-01-03 13:27:00所以我想要date2 - date1从这些数据帧列中减去单独的 timediff 列,显示这两列的差异,例如timeDiff = 00:01:01

我怎样才能在 PySaprk 中做到这一点

我尝试了以下代码:

#timeDiff = df.withColumn(('timeDiff', col(df['date2']) - col(df['date1'])))
Run Code Online (Sandbox Code Playgroud)

此代码不起作用

我试着做这个简单的事情:

timeDiff = df['date2'] - df['date1']
Run Code Online (Sandbox Code Playgroud)

这实际上有效,但之后我尝试通过以下代码将此单独的列添加到我的数据框中

df = df.withColumn("Duration", timeDiff)
Run Code Online (Sandbox Code Playgroud)

它有以下错误:

Py4JJavaError: An error occurred while calling o107.withColumn.
: org.apache.spark.sql.AnalysisException: cannot resolve '(`date2` - `date1`)' due to data type mismatch: '(`date2` - `date1`)' requires (numeric or calendarinterval) type, not timestamp;;
Run Code Online (Sandbox Code Playgroud)

任何人都可以用任何其他方法帮助我,或者我该如何解决这个错误?

python-3.x pyspark pyspark-sql

1
推荐指数
1
解决办法
7086
查看次数

如何使用 Pandas Python 设置 5 分钟滚动平均窗口来重新采样数据

如何设置 5 分钟窗口大小以通过滚动平均值重新采样数据?我尝试了不同的方法,但总是收到有关 DateTimeIndex 的错误,即使我的数据的 Index 为 DateTimeIndex..

有谁知道正确的方法吗??

数据

                index   Speed   rolling_meanVal
DateTime            
1/1/2011 0:04   2165    0.057579    NaN
1/1/2011 0:07   3438    0.044646    NaN
1/1/2011 0:10   4713    0.043154    NaN
1/1/2011 0:13   6054    0.014403    NaN
1/1/2011 0:16   7385    0.038972    0.039751
1/1/2011 0:19   8734    0.019927    0.036447
1/1/2011 0:21   10045   0.039548    0.03689
1/1/2011 0:24   11374   0.089709    0.043492
1/1/2011 0:27   12661   0.102816    0.050084
1/1/2011 0:30   13960   0.119699    0.057045
1/1/2011 0:33   15261   0.095108    0.060505
1/1/2011 0:36   16579   0.051854    0.059784
1/1/2011 0:40   17848   0.035654    0.057928
1/1/2011 …
Run Code Online (Sandbox Code Playgroud)

python pandas rolling-average

0
推荐指数
1
解决办法
8606
查看次数