小编Ben*_*Ben的帖子

上传列表以从火花数据框中选择多个列

我有一个火花数据框df.有没有办法使用这些列的列表选择几列?

scala> df.columns
res0: Array[String] = Array("a", "b", "c", "d")
Run Code Online (Sandbox Code Playgroud)

我知道我可以做点什么df.select("b", "c").但是假设我有一个包含几个列名的列表val cols = List("b", "c"),有没有办法将它传递给df.select?df.select(cols)抛出错误.像df.select(*cols)python中的东西

apache-spark apache-spark-sql spark-dataframe

47
推荐指数
3
解决办法
5万
查看次数

在R中的字符串中的两个字母之间添加空格

假设我有一个字符串

s = "PleaseAddSpacesBetweenTheseWords"
Run Code Online (Sandbox Code Playgroud)

我如何在R中使用gsub在单词之间添加一个空格以便我得到

"Please Add Spaces Between These Words"
Run Code Online (Sandbox Code Playgroud)

我应该做点什么

gsub("[a-z][A-Z]", ???, s)
Run Code Online (Sandbox Code Playgroud)

我该怎么办?另外,我发现R的正则表达式文档令人困惑,因此对R中的正则表达式的引用或写法将非常感激.

regex r gsub

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

实例化超类的python中的子类化

是否可以使用已实例化的超类在Python中进行子类化?

我不完全知道如何提出问题,所以让我举个例子。假设我有一个Rectangle类,并且我想构建另一个类ColoredRectangle。但我不希望每个ColoredRectangle相同的维度成为自己的新维度Rectangle。因此,当我启动时,ColoredRectangle我将其传递给已实例化的对象Rectangle

即,我想要

r = Rectangle([1,2])
r_red = ColoredRectangle(r, "red")
r_blue = ColoredRectangle(r, "blue")
Run Code Online (Sandbox Code Playgroud)

但是现在r_redr_blue应该能够获取所有矩形方法和属性。例如,假设Rectangle有一个area()属性。

r.area
2
r_red.area
2
Run Code Online (Sandbox Code Playgroud)

r_redr_blue应“指向”相同Rectangle。我知道我可以这样写:

 class ColoredRectangle(Rectangle):

      def __init__(self, rectangle, color):
          self.color = color
          self.rectangle = rectangle
Run Code Online (Sandbox Code Playgroud)

但是那我得写

  r_red.rectangle.area
Run Code Online (Sandbox Code Playgroud)

这很丑。

python inheritance subclass

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

Numpy 中的命名元组

我真的很喜欢 namedtuple 集合的功能。具体来说,我喜欢它对二维空间中的点有多大用处。

In : from collections import namedtuple

In : Point = namedtuple('Point', ['x', 'y'])

In : p = Point(1,2)

In : p.x
Out: 1

In : p.y
Out: 2
Run Code Online (Sandbox Code Playgroud)

我认为这比引用列表的第一个和第二个条目要清楚得多。我想知道是否有办法使 Point 也是一个 numpy 数组。例如

 In: p1 = Point(1,2)
 In: p2 = Point(3,4)
 In: (p1+p2).x 
 Out: 4
Run Code Online (Sandbox Code Playgroud)

以及来自 numpy 的类似功能。换句话说,我想我希望 Point 成为 numpy 的子类?我可以这样做吗?如何?

python oop numpy namedtuple

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

乘法函数

假设我在R中有两个数字函数,例如,cos和exp.有一个新的函数对象f(x)= cos(x)*exp(x)的最快方法是什么?我可以将其定义为

f <- function(x) {cos(x)*exp(x) }
Run Code Online (Sandbox Code Playgroud)

但有没有这样做的简写方法(例如f = cos*exp)

r function

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

Data.Map,函数作为Haskell中的值

我是一个Haskell新手试图了解如何使用Data.Map结构,懒惰的评估和Maybe类型.

在Python中,我可以定义一个字典结构,其值是函数.给定一个键我就可以使用相应的函数:

d = {"+": lambda x,y: x+y}

def f(key, v1, v2):
    if key in d:
        return d[key](v1, v2)
    else:
        return 0
Run Code Online (Sandbox Code Playgroud)

我试图在Haskell中做类似的事情,但它不编译.

d = Map.fromList [('+', (+))]

f :: Char -> Integer -> Integer -> Integer
f key v1 v2 =
    if k == Nothing
        then 0
        else f v1 v2
    where
        k = Map.lookup key d
        (Just f) = k
Run Code Online (Sandbox Code Playgroud)

这不会编译并返回错误之类的

No instance for (Eq (Integer -> Integer -> Integer))
Run Code Online (Sandbox Code Playgroud)

我相信这是因为Map.lookup '+' d …

dictionary haskell maybe

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