小编jKr*_*aut的帖子

Spark SQL Row_number()PartitionBy Sort Desc

我已经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

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

Sklearn StratifiedKFold:ValueError:支持的目标类型是:('binary','multiclass').得到'多标签指标'

使用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)

python machine-learning scikit-learn cross-validation keras

18
推荐指数
4
解决办法
2万
查看次数

SQL最近使用row_number()而不是分区

我正在处理一些网络点击数据,我只是在寻找带有访问过的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)

sql hive

10
推荐指数
1
解决办法
4万
查看次数

找不到 RStudio 所需的包版本

我将 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)

任何帮助,将不胜感激。

r rstudio

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

在 Swift 中正确删除 AVCaptureSession 和 PreviewLayer

使用 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)

ios avcapturesession swift

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

熊猫每年转换为每月

我正在提取财务数据,其中一些是按年格式化的,另一些是按月格式化的。我的模型每个月都需要所有这些,因此我需要每个月重复相同的年度值。我一直在使用这个堆栈帖子并尝试使代码适应我的数据。

这是我的数据框:

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)

python pandas

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

如何从 Flask 应用程序执行 Shell 脚本

我已经创建并部署了一个带有 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 命令?

python bash shell flask

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

R将矩阵保存到csv,并加载为Matrix

我有一个非常大的矩阵,并希望保存到本地以供以后使用.这是我的矩阵:

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)

csv r matrix

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

如何按索引组合两个 RDD[String]s?

我正在使用 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)

scala apache-spark

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