我已经row_number()
partitionBy
使用Window在Spark中成功创建了一个by,但是希望通过降序对其进行排序,而不是默认的升序.这是我的工作代码:
from pyspark import HiveContext
from pyspark.sql.types import *
from pyspark.sql import Row, functions as F
from pyspark.sql.window import Window
data_cooccur.select("driver", "also_item", "unit_count",
F.rowNumber().over(Window.partitionBy("driver").orderBy("unit_count")).alias("rowNum")).show()
Run Code Online (Sandbox Code Playgroud)
这给了我这个结果:
+------+---------+----------+------+
|driver|also_item|unit_count|rowNum|
+------+---------+----------+------+
| s10| s11| 1| 1|
| s10| s13| 1| 2|
| s10| s17| 1| 3|
Run Code Online (Sandbox Code Playgroud)
在这里我添加desc()以降序:
data_cooccur.select("driver", "also_item", "unit_count", F.rowNumber().over(Window.partitionBy("driver").orderBy("unit_count").desc()).alias("rowNum")).show()
Run Code Online (Sandbox Code Playgroud)
并得到此错误:
AttributeError:'WindowSpec'对象没有属性'desc'
我在这做错了什么?
python window-functions apache-spark apache-spark-sql pyspark
使用Sklearn分层kfold分割,当我尝试使用多类分割时,我收到错误(见下文).当我尝试使用二进制分割时,它没有问题.
num_classes = len(np.unique(y_train))
y_train_categorical = keras.utils.to_categorical(y_train, num_classes)
kf=StratifiedKFold(n_splits=5, shuffle=True, random_state=999)
# splitting data into different folds
for i, (train_index, val_index) in enumerate(kf.split(x_train, y_train_categorical)):
x_train_kf, x_val_kf = x_train[train_index], x_train[val_index]
y_train_kf, y_val_kf = y_train[train_index], y_train[val_index]
ValueError: Supported target types are: ('binary', 'multiclass'). Got 'multilabel-indicator' instead.
Run Code Online (Sandbox Code Playgroud) 我正在处理一些网络点击数据,我只是在寻找带有访问过的user_id的最新page_name(通过时间戳).使用下面的代码,重复user_id并显示page_name,并按降序排序.但是,我只想使用recent_click always = 1.完成时的查询将用作较大查询中的子查询.
这是我目前的代码:
SELECT user_id,
page_name,
row_number() over(partition by session_id order by ts desc) as recent_click
from clicks_data;
user_id | page_name | recent_click
--------+-------------+--------------
0001 | login | 1
0001 | login | 2
0002 | home | 1
Run Code Online (Sandbox Code Playgroud) 我将 Mac 更新到 OS10 并尝试运行 RStudio Knit,但出现错误:
"evaluate 0.7.2 is required but 0.7 is available".
Run Code Online (Sandbox Code Playgroud)
我尝试了这个并没有解决问题:
remove.packages("evaluate")
install.packages("evaluate")
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激。
使用 iOS Swift 从 App 捕获视频源,并希望正确停止它。
现在,我创建了一个启动 AVCaptureSession 的按钮,并希望在用户喜欢时允许相同的按钮正确停止 AVCapture Session。这将允许用户轻松开始和结束相机捕获。
我在使用时收到错误:
captureSession.stopRunning()
Run Code Online (Sandbox Code Playgroud)
这是代码:
import UIKit
import AVFoundation
import Vision
class ViewController: UIViewController, AVCaptureVideoDataOutputSampleBufferDelegate {
// creates a new capture session
let captureSession = AVCaptureSession()
override func viewDidLoad() {
super.viewDidLoad()
setupLabel()
createButton()
}
func setupCaptureSession() {
// search for available capture devices
let availableDevices = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera], mediaType: AVMediaType.video, position: .back).devices
// get capture device, add device input to capture session
do {
if let captureDevice = availableDevices.first {
captureSession.addInput(try …
Run Code Online (Sandbox Code Playgroud) 我正在提取财务数据,其中一些是按年格式化的,另一些是按月格式化的。我的模型每个月都需要所有这些,因此我需要每个月重复相同的年度值。我一直在使用这个堆栈帖子并尝试使代码适应我的数据。
这是我的数据框:
df.head()
date ticker value
0 1999-12-31 ECB/RA6 1.0
1 2000-12-31 ECB/RA6 4.0
2 2001-12-31 ECB/RA6 2.0
3 2002-12-31 ECB/RA6 3.0
4 2003-12-31 ECB/RA6 2.0
Run Code Online (Sandbox Code Playgroud)
这是我想要的前 5 行输出:
date ticker value
0 1999-12-31 ECB/RA6 1.0
1 2000-01-31 ECB/RA6 4.0
2 2000-02-28 ECB/RA6 4.0
3 2000-13-31 ECB/RA6 4.0
4 2000-04-30 ECB/RA6 4.0
Run Code Online (Sandbox Code Playgroud)
还有我的代码:
df['date'] = pd.to_datetime(df['date'], format='%Y-%m')
df = df.pivot(index='date', columns='ticker')
start_date = df.index.min() - pd.DateOffset(day=1)
end_date = df.index.max() + pd.DateOffset(day=31)
dates = pd.date_range(start_date, end_date, freq='M')
dates.name = …
Run Code Online (Sandbox Code Playgroud) 我已经创建并部署了一个带有 Apache2 服务器 WSGI 的 Flask 应用程序,现在想要从应用程序运行 .sh 脚本。但是,从 python 代码调用,它不会执行。
这是 test.sh:
#!/bin/bash
echo "hi from shell script"
Run Code Online (Sandbox Code Playgroud)
这是我的 python flask 应用程序代码 index.py(在打开应用程序时运行)但没有打印或执行任何内容:
import subprocess
subprocess.call('/var/www/FlaskApp/FlaskApp/scripts/test.sh')
Run Code Online (Sandbox Code Playgroud)
为了检查我的代码中没有错误,我检查了烧瓶错误日志,没有错误。此外,我创建了一个名为 test_shell_script.py 的脚本,使用与上面相同的 python 代码(但不是flask应用程序代码),它运行得很好,如下所示:
# test_shell_script.py
import subprocess
subprocess.call('/var/www/FlaskApp/FlaskApp/scripts/test.sh')
Run Code Online (Sandbox Code Playgroud)
然后用 python 运行它: python3 /var/www/FlaskApp/FlaskApp/test_shell_script.py
hi from shell script
Run Code Online (Sandbox Code Playgroud)
我也确实更改了权限:
-rwxr-xr-x 1 root root 364 Nov 19 17:48 ../scripts/test.sh
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么不允许我的 Flask 应用程序从 python 代码运行 shell 命令?
我有一个非常大的矩阵,并希望保存到本地以供以后使用.这是我的矩阵:
head(copy_fourgram)
[,1] [,2] [,3] [,4] [,5]
[1,] "\u0097" "a" "moment" "when" "1"
[2,] "\u0096" "and" "of" "support" "1"
[3,] "\u0095" "eli" "lathrop" "yard" "1"
[4,] "\u0095" "james" "brown" "yard" "1"
[5,] "\u0095" "keep" "a" "fire" "1"
[6,] "\u0097" "maybe" "even" "vent" "1"
Run Code Online (Sandbox Code Playgroud)
这是我保存的代码:
library(MASS)
write.matrix(format(copy_fourgram, scientific=FALSE),
file = paste("./en_US/ngrams/", "copy_fourgram.csv", sep="/"), sep=",")
Run Code Online (Sandbox Code Playgroud)
当我回读为csv时:
fourgram_file <- file("./en_US/ngrams/fourgram.csv", "r")
new_copy_fourgram <- read.csv(fourgram_file, header=T)
close(fourgram_file)
new_copy_fourgram <- as.matrix(new_copy_fourgram)
head(new_copy_fourgram)
X. a moment X1 when
[1,] "\u0096 " "and " "of "1" " …
Run Code Online (Sandbox Code Playgroud) 我正在使用 Spark RDD 并创建了两个相同长度的数组,一个是推文的时间,另一个是推文的文本。我希望将这些组合成一个数据结构(也许是一个元组?),我可以按时间和推文文本进行过滤,但在结合如何执行此操作后我正在苦苦挣扎。
scala> val split_time = split_date.map(line => line.split(":")).map(word =>
(word(0)))
split_time: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[28] at map
at <console>:31
scala> split_time.take(10)
res8: Array[String] = Array(17, 17, 17, 17, 17, 17, 17, 17, 17, 17)
scala> val split_text = text.map(line => line.split(":")).map(word =>
(word(1).toLowerCase))
split_text: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[19] at map at <console>:29
scala> split_text.take(10)
res0: Array[String] = Array("add @joemontana to this pic and you've got
something #nfl https, "are you looking for photo editor, "#colts frank gore
needs 27 …
Run Code Online (Sandbox Code Playgroud)