小编Omr*_*374的帖子

与dplyr组中的第一组差异

我正在尝试使用dplyr创建一个窗口函数,它将返回一个新的向量,其中每个值与其第一个组之间存在差异.例如,给定此数据集:

dummy <- data.frame(userId=rep(1,6),
     libId=rep(999,6),
     curatorId=c(1:2,1:2,1:2),
     iterationNum=c(0,0,1,1,2,2),
     rf=c(5,10,0,15,30,40)
)
Run Code Online (Sandbox Code Playgroud)

这会创建此数据集:

  userId libId curatorId iterationNum rf
1      1   999         1            0  5
2      1   999         2            0 10
3      1   999         1            1  0
4      1   999         2            1 15
5      1   999         1            2 30
6      1   999         2            2 40
Run Code Online (Sandbox Code Playgroud)

鉴于此分组:

 dummy<-group_by(dummy,libId,userId,curatorId)
Run Code Online (Sandbox Code Playgroud)

会得到这个结果:

  userId libId curatorId iterationNum   rf   rf.diff
1      1   999         1            0  5    0
2      1   999         2            0 10    0
3      1   999         1            1  0 …
Run Code Online (Sandbox Code Playgroud)

r window-functions dplyr

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

将cateorical值转换为布尔列SQL

我希望'压扁'我的数据集以便于数据挖掘.每个分类列应更改为多个布尔列.我有一个具有分类值的列,例如:

 ID    col1
  1     A
  2     B
  3     A
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来转动这个表,并有一个聚合函数告诉我这个ID是否有值A或B:

结果:

 ID    col1A    col1B
  1     1        0
  2     0        1
  3     1        0
Run Code Online (Sandbox Code Playgroud)

我尝试使用PIVOT,但不知道在其中使用哪个聚合函数.

也寻找SF的答案,但找不到任何...

我正在使用MS-SQL 2012.

任何帮助,将不胜感激!奥马里

编辑:

col1中的类别数量未知,因此解决方案必须是动态的.谢谢 :)

sql t-sql pivot data-manipulation sql-server-2012

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

在R中使用k-NN和分类值

我希望对具有大多数分类功能的数据进行分类.为此目的,欧几里德距离(或任何其他数字假定距离)不适合.

我在寻找[R]的kNN实现,可以选择不同的距离方法,如汉明距离.有没有办法使用常见的kNN实现,如{class}中具有不同距离度量函数的实现?

我正在使用R 2.15

r distance knn

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

光标在没有事先close()警告的情况下完成.这是什么意思?

LogCat继续向我展示一个

光标在没有事先关闭的情况下完成()

警告.

我在以前版本的应用程序中使用SQLite,但不再使用它了.

我试图找到这个警告的原因没有运气.一些谷歌和Stackoverflow的参考文献说它与数据库有关.

这个警告意味着什么?我应该忽略它吗?

我可以提供示例代码,但我不知道我的应用程序的哪个部分导致了这个问题.也没有添加堆栈跟踪.

编辑:显然我正在使用的第三方依赖项正在使用游标,这会导致此警告.

sqlite android cursor

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

将具有纪元时间戳的数据帧转换为R中具有毫秒的时间序列

我有以下data.frame:

df <- data.frame(timestamp=c(1428319770511, 1428319797218, 1428319798182, 1428319803327, 1428319808478),
                 session=c("A","A","B","A","A"))
Run Code Online (Sandbox Code Playgroud)

我想将此数据框转换为时间序列,并在短于一秒的时间窗口上工作.我已经尝试过zooxts,但我发现很难代表大纪元的日期.这是我已经尝试过的:

df$date<-strptime(as.POSIXct(df$timestamp, origin="1970-01-01"),format="%Y-%m-%d %H:%M:%OS")
Run Code Online (Sandbox Code Playgroud)

哪个返回NAs.打电话给:

df$date<-strptime(as.POSIXct(df$timestamp/1000, origin="1970-01-01"),format="%Y-%m-%d %H:%M:%OS")
Run Code Online (Sandbox Code Playgroud)

有效,但不包含毫秒数据.我也试过玩,options(digits.secs=3)但没有运气.

我想我在这里用R的处理毫秒来打一个小墙,但任何想法都会非常感激.

- -编辑 - -

好的,感谢Joshua的回答和评论在这里 @jirk Eddelbuettel的UNIX纪元转换为R中Date对象,除以1000不会截断数据.这样可行:

options(digits.secs = 3)
df$date<-as.POSIXct(df$timestamp/1000, origin="1970-01-01", tz="UTC")
Run Code Online (Sandbox Code Playgroud)

哪个回报:

timestamp       session date    
1428319770511   A       2015-04-06 14:29:30.510
1428319797218   A       2015-04-06 14:29:57.217
1428319798182   B       2015-04-06 14:29:58.181
1428319803327   A       2015-04-06 14:30:03.326
1428319808478   A       2015-04-06 14:30:08.477
Run Code Online (Sandbox Code Playgroud)

r time-series zoo xts

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

PySpark:带有标量 Pandas UDF 的无效返回类型

我正在尝试从 pandas_udf 返回特定结构。它在一个集群上工作,但在另一个集群上失败。我尝试在组上运行 udf,这要求返回类型为数据框。

from pyspark.sql.functions import pandas_udf
import pandas as pd
import numpy as np
from pyspark.sql.types import *

schema = StructType([
  StructField("Distance", FloatType()),
  StructField("CarId", IntegerType())

])


def haversine(lon1, lat1, lon2, lat2):
    #Calculate distance, return scalar
    return 3.5 # Removed logic to facilitate reading


@pandas_udf(schema)
def totalDistance(oneCar):
    dist = haversine(oneCar.Longtitude.shift(1),
                     oneCar.Latitude.shift(1),
                     oneCar.loc[1:, 'Longitude'], 
                     oneCar.loc[1:, 'Latitude'])

    return pd.DataFrame({"CarId":oneCar['CarId'].iloc[0],"Distance":np.sum(dist)},index = [0])


## Calculate the overall distance made by each car
distancePerCar= df.groupBy('CarId').apply(totalDistance)
Run Code Online (Sandbox Code Playgroud)

这是我得到的例外:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
C:\opt\spark\spark-2.3.0-bin-hadoop2.7\python\pyspark\sql\udf.py …
Run Code Online (Sandbox Code Playgroud)

apache-spark pyspark apache-arrow

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