鉴于以下字典:
dct = {'a':3, 'b':3,'c':5,'d':3}
Run Code Online (Sandbox Code Playgroud)
如何将这些值应用于列表,例如:
lst = ['c', 'd', 'a', 'b', 'd']
Run Code Online (Sandbox Code Playgroud)
为了得到类似的东西:
lstval = [5, 3, 3, 3, 3]
Run Code Online (Sandbox Code Playgroud) 基于以下内容DataFrame:
val client = Seq((1,"A",10),(2,"A",5),(3,"B",56)).toDF("ID","Categ","Amnt")
+---+-----+----+
| ID|Categ|Amnt|
+---+-----+----+
| 1| A| 10|
| 2| A| 5|
| 3| B| 56|
+---+-----+----+
Run Code Online (Sandbox Code Playgroud)
我想按类别获取ID和总金额:
+-----+-----+---------+
|Categ|count|sum(Amnt)|
+-----+-----+---------+
| B| 1| 56|
| A| 2| 15|
+-----+-----+---------+
Run Code Online (Sandbox Code Playgroud)
是否可以在不进行连接的情况下进行计数和总和?
client.groupBy("Categ").count
.join(client.withColumnRenamed("Categ","cat")
.groupBy("cat")
.sum("Amnt"), 'Categ === 'cat)
.drop("cat")
Run Code Online (Sandbox Code Playgroud)
也许是这样的:
client.createOrReplaceTempView("client")
spark.sql("SELECT Categ count(Categ) sum(Amnt) FROM client GROUP BY Categ").show()
Run Code Online (Sandbox Code Playgroud) 我想创建一个10个单词的向量,由5个字符组成,这些单词是随机生成的.例如c("ASDT","WUIW"......)
目前我正在使用以下脚本,但肯定应该有更好的方法来做到这一点
result = list()
for (i in 1:10){
result[i]<-paste(sample(LETTERS, 5, replace=TRUE),collapse="")
}
result<-paste(t(result))
Run Code Online (Sandbox Code Playgroud) 我有一个看似像的numpy数组
a = ['blue' 'red' 'green']
Run Code Online (Sandbox Code Playgroud)
我希望它成为
b = ['blue', 'red', 'green']
Run Code Online (Sandbox Code Playgroud)
我试过了
b = a.split(' ')
Run Code Online (Sandbox Code Playgroud)
但它返回一个错误: 'numpy.ndarray' object has no attribute 'split'
我想创建一个RDD来收集迭代计算的结果.
如何使用循环(或任何替代方法)替换以下代码:
import org.apache.spark.mllib.random.RandomRDDs._
val n = 10
val step1 = normalRDD(sc, n, seed = 1 )
val step2 = normalRDD(sc, n, seed = (step1.max).toLong )
val result1 = step1.zip(step2)
val step3 = normalRDD(sc, n, seed = (step2.max).toLong )
val result2 = result1.zip(step3)
...
val step50 = normalRDD(sc, n, seed = (step49.max).toLong )
val result49 = result48.zip(step50)
Run Code Online (Sandbox Code Playgroud)
(创建N步RDD并在最后一起压缩也可以,只要迭代创建50个RDD以遵守种子=(步骤(n-1).max)条件)
我有一个带有两列的数据帧,其中一列(称为dist)是一个密集向量.如何将其转换回整数数组列.
+---+-----+
| id| dist|
+---+-----+
|1.0|[2.0]|
|2.0|[4.0]|
|3.0|[6.0]|
|4.0|[8.0]|
+---+-----+
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下udf的几个变体,但它返回一个类型不匹配错误
val toInt4 = udf[Int, Vector]({ (a) => (a)})
val result = df.withColumn("dist", toDf4(df("dist"))).select("dist")
Run Code Online (Sandbox Code Playgroud) 我需要使用8个变量得到总和等于100的所有组合,这些变量可以通过10的递增步长从0到100取任何值.(即0,10,20 ...... 100)
以下脚本就是这样做但效率非常低,因为它创建了一个巨大的数据集,我想知道是否有人有更好的方法来做到这一点.
x <- expand.grid("ON" = seq (0,100,10),
"3M" = seq(0,100,10),
"6M" = seq(0,100,10),
"1Y" = seq(0,100,10),
"2Y" = seq(0,100,10),
"5Y" = seq(0,100,10),
"10Y" = seq(0,100,10),
"15Y" = seq(0,100,10))
x <- x[rowSums(x)==100,]
Run Code Online (Sandbox Code Playgroud)
编辑 -
回答StéphaneLaurent提出的问题
结果应该是这样的
ON 3M 6M 1Y 2Y 5Y 10Y 15Y
100 0 0 0 0 0 0 0
90 10 0 0 0 0 0 0
80 20 0 0 0 0 0 0
70 30 0 0 0 0 0 0
60 40 …Run Code Online (Sandbox Code Playgroud) 我有两个 numpy 数组 A 和 B。
A = np.array ([[ 1 3] [ 2 3] [ 2 1] ])
B = np.array([(1, 'Alpha'), (2, 'Beta'), (3, 'Gamma')]
Run Code Online (Sandbox Code Playgroud)
我如何将 A 与 B 映射以获得类似的结果:
result = np.array ([[ 'Alpha' 'Gamma'] [ 'Beta' 'Gamma'] ['Beta' 'Alpha'] ])
Run Code Online (Sandbox Code Playgroud)
我试过了,map(B['f1'],A)但我越来越TypeError: 'numpy.ndarray' object is not callable
我使用以下脚本从 yyyy-MM-dd HH:mm:ss 日期格式中提取 HH:mm:ss
import java.sql.Time
case class Transactions(creationTime: Time)
val formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
def parseTransac(line: String): (Transactions) = {
val fields = line.split(',')
val creationTime = new Time(formatter.parse(fields(0)).getTime())
val transactions = Transactions(creationTime)
(transactions)
}
Run Code Online (Sandbox Code Playgroud)
例如2009-01-15 15:45:23将返回15:45:23.
如何以秒为单位(56723)而不是 HH:mm:ss 获得结果
我有一个数据集
data <- cbind(c(1,2,3),c(1,11,21))
Run Code Online (Sandbox Code Playgroud)
我想根据向量给出的列号从每一行中提取一个元素
selectcol <- c(1,2,2)
Run Code Online (Sandbox Code Playgroud)
在这种特殊情况下,结果应该是
结果
1
11
21
Run Code Online (Sandbox Code Playgroud)
我努力了
resul<-apply(data, 1, [,selectcol])
Run Code Online (Sandbox Code Playgroud)
但它不起作用
apache-spark ×4
python ×3
r ×3
scala ×3
numpy ×2
akka ×1
combinations ×1
dictionary ×1
list ×1
scalaz ×1
subset ×1