小编use*_*373的帖子

as.double(y)出错:无法强制将'S4'强制转换为'double'类型的向量

我正在应用Aprior算法,并且在绘图时出现错误.

我已经安装了包arulesarulesviz.

数据有3个属性.两个被分解,一个属性未分解.我分别采用了属性属性和应用因子函数.代码如下:

New_Train_Wifi = read.xlsx("D:/Train_Test.xls",1)

str(New_Train_Wifi)
'data.frame':   2201 obs. of  3 variables:
 $ Wifi_ID: Factor w/ 4 levels "1st","2nd","3rd",..: 3 3 3 3 3 3 3 3 3 3 ...
 $ Store  : Factor w/ 5 levels "Book_Store","Clothing",..: 3 3 3 3 3 3 3 3 3 3 ...
 $ Mac_ID : num  125 125 125 125 125 125 125 125 125 125 ...

A <- as.factor(Test_ARM_ABC$Wifi_ID)
C <- as.factor(New_Train_Wifi$Mac_ID)
New_Train_Wifi$MacID <- NULL
New_Train_Wifi$MacID <- …
Run Code Online (Sandbox Code Playgroud)

r

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

使用 aws wrangler 从 athena 错误读取数据

我正在使用 python3

我正在尝试使用 awswrangler 包从 aws athena 读取数据。

下面是代码

import boto3
import awswrangler as wr
import pandas as pd

df_dynamic=wr.athena.read_sql_query("select * from test",database="tst")
Run Code Online (Sandbox Code Playgroud)

错误:

    Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.6/site-packages/awswrangler/_config.py", line 361, in wrapper

       File "/usr/local/lib/python3.6/site-packages/botocore/regions.py", line 148, in _ 
   endpoint_for_partition
     raise NoRegionError()
      botocore.exceptions.NoRegionError: You must specify a region.
Run Code Online (Sandbox Code Playgroud)

我不确定要指定 sql 查询的工作位置

amazon-web-services amazon-athena aws-data-wrangler

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

Pyspark udf在条件定义上返回一列,接受多个列作为输入

我正在使用spark 2.1,用法是pyscripting

问题陈述:有一个场景需要传递多个列作为输入并返回一列,因为下面的输出是我的3列输入数据帧

ABC

SSS

S NS NS

S NS S.

SS NS

NS S NS

我的输出必须如下

A B C D

SSSS

S NS NS NS

S NS SS

SS NS NS

NS S NS NS

我试图注册一个UDF来传递这3列[a,b,c]作为输入并返回d列作为输出这里a,b,c,d是列名

我发现很难得到下面的输出是使用的语法

def return_string(x):
      if [x.a=='s' & x.b=='S' & x.c=='s']
          return 'S'
      else if[x.a=='s' & x.b=='NS' & x.c=='s']
          return 'S'
      else if[x.a=='s' & x.b=='S' & x.c=='NS']
          return 'NS;

func= udf(returnstring,types.StringType())
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我完成这个逻辑.

python apache-spark pyspark

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

多列上的 PySpark 数据框过滤器

使用 Spark 2.1.1

下面是我的数据框

id Name1   Name2

1 Naveen Srikanth 

2 Naveen Srikanth123

3 Naveen 

4 Srikanth Naveen
Run Code Online (Sandbox Code Playgroud)

现在需要根据两个条件过滤行,即 2 和 3 需要过滤掉,因为名称有数字的 123 和 3 有空值

使用下面的代码只过滤行 id 2

df.select("*").filter(df["Name2"].rlike("[0-9]")).show()
Run Code Online (Sandbox Code Playgroud)

被卡住以包含第二个条件。

python filter apache-spark-sql pyspark

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