我有一个这样的数据框R:
ID MONTH-YEAR VALUE
110 JAN. 2012 1000
111 JAN. 2012 2000
. .
. .
121 FEB. 2012 3000
131 FEB. 2012 4000
. .
. .
Run Code Online (Sandbox Code Playgroud)
因此,每年的每个月都有n行,它们可以按任何顺序排列(意味着它们都不是连续的并且处于休息状态).我想计算每个行的行数,MONTH-YEAR即JAN有多少行.2012年,FEB有多少人.2012年等等.像这样的东西:
MONTH-YEAR NUMBER OF ROWS
JAN. 2012 10
FEB. 2012 13
MAR. 2012 6
APR. 2012 9
Run Code Online (Sandbox Code Playgroud)
我试着这样做:
n_row <- nrow(dat1_frame %.% group_by(MONTH-YEAR))
Run Code Online (Sandbox Code Playgroud)
但它不会产生所需的输出.我怎么能这样做?
我有一个结果RDD labelsAndPredictions = testData.map(lambda lp: lp.label).zip(predictions).这有以这种格式输出:
[(0.0, 0.08482142857142858), (0.0, 0.11442786069651742),.....]
Run Code Online (Sandbox Code Playgroud)
我想要的是创建一个CSV文件,其中一列labels(上面输出中的元组的第一部分)和一列predictions(元组输出的第二部分).但我不知道如何使用Python在Spark中写入CSV文件.
如何使用上述输出创建CSV文件?
我有一个虚拟机,Spark 1.3但我想升级它Spark 1.5主要是因为某些支持的功能不在1.3中.是否有可能将Spark版本升级1.3到1.5,如果是,那我该怎么做呢?
我正在处理提供的数据在.data文件中的辅助内容。如何打开.data文件以查看数据的外观以及如何.data通过 python以编程方式读取文件?我有 Mac OSX
注意:我正在处理的数据是针对其中一个KDD cup challenges
我将一个列表从 a 传递subprocess到父进程,并且在父进程中我想将其添加到已经存在的列表中。我这样做了:
子进程脚本.py:
def func():
list = []
list.append('1')
list.append('2')
print'Testing the list passing'
print '>>> list:',list
if __name__ == '__main__':
func()
Run Code Online (Sandbox Code Playgroud)
父脚本.py:
list1 = []
list1.append('a')
list1.append('b')
ret = subprocess.Popen([sys.executable,"/Users/user1/home/subprocess_script.py"],stdout=subprocess.PIPE)
ret.wait()
return_code = ret.returncode
out, err = ret.communicate()
if out is not None:
for line in out.splitlines():
if not line.startswith('>>>'):
continue
value = line.split(':',1)[1].lstrip()
list1.extend(value)
print 'Final List: ',list1
Run Code Online (Sandbox Code Playgroud)
但是当我执行此操作时,我没有得到所需的输出。我想要的最终列表应该是:['a','b','1','2']。但我明白['a', 'b', '[', "'", '1', "'", ',', ' ', "'", '2', "'", ']']哪个是错误的。我在这里做错了什么?
我RDDs在PySpark中有两个:
RDD1集:
[(u'2013-01-31 00:00:00', u'a', u'Pab', u'abc', u'd'),(u'2013-01-31 00:00:00', u'a', u'ab', u'abc', u'g'),.....]
Run Code Online (Sandbox Code Playgroud)
RDD2:
[(u'41',u'42.0'),(u'24',u'98.0'),....]
Run Code Online (Sandbox Code Playgroud)
两者RDDs都有相同的数字或行.现在我想做的是把所有的列从RDD1集的每一行(从转换中unicode正常string),并从RDD2每一行(从转换的第2列unicode string到float),并形成新的RDD这一点.所以新的RDD将如下所示:
RDD3:
[('2013-01-31 00:00:00', 'a', 'Pab', 'abc', 'd',42.0),('2013-01-31 00:00:00', 'a', 'ab', u'abc', 'g',98.0),.....]
Run Code Online (Sandbox Code Playgroud)
完成后,我想通过第1列中的值在aggregation此新行中的每一行(浮点值)中执行最后一个值.那芒在所有行的,他们最后的数值应予以补充.RDD3datedate2013-01-31 00:00:00
我怎么能在PySpark中做到这一点?
我正在努力Ipython,Spark并且我有一个RDD我从中形成的list.现在,list我希望形成一个dataframe包含父list列的多列,但这些列不是连续的.我写了这个,但似乎工作错了:
list1 = rdd.collect()
columns_num = [1,8,11,17,21,24]
df2 = [list[i] for i in columns_num]
Run Code Online (Sandbox Code Playgroud)
上面的代码只从父级中选择6行,只有第1列数据,list并dataframe用这6列1数据形成新行.
如何dataframe使用多个不连续的列形成新的列list
我当时正在做Linear Regression建模PySpark,但对重新评估它有疑问。我所拥有的数据有categorical features。我浏览了文档PySpark,示例Linear Regression显示了这一点:
model = LinearRegressionWithSGD.train(parsedData)
Run Code Online (Sandbox Code Playgroud)
它没有显示如何传递categorical featuresto Linear Regression。我之前曾Random Forest在其中首先将这些功能传递给模型,因为提供了一个来指定. 这PySparkencoded categorical featuresRandom Forestparametercategorical featuresLinear Regression文档中没有显示任何此类参数
categorical feature任何人都可以帮助我,为我提供进入Linear Regression建模的方法PySpark MLlib
python linear-regression categorical-data pyspark apache-spark-mllib
我有一个RDD,我想找到standard deviation数据中的一个列RDD.我目前的代码是:
def extract(line):
# line[11] is the column in which I want to find standard deviation
return (line[1],line[2],line[5],line[6],line[8],line[10],line[11])
inputfile1 = sc.textFile('file1.csv').zipWithIndex().filter(lambda (line,rownum): rownum>=0).map(lambda (line, rownum): line)
data = (inputfile1
.map(lambda line: line.split(";"))
.filter(lambda line: len(line) >1 )
.map(extract)) # Map to tuples
Run Code Online (Sandbox Code Playgroud)
data是RDD在我的最后一列(列6)具有其中我想找到的值standard deviation.我该怎么找到它?
更新:我目前的代码:
def extract(line):
# last column is numeric but in string format
return ((float(line[-1])))
input = sc.textFile('file1.csv').zipWithIndex().filter(lambda (line,rownum): rownum>=0).map(lambda (line, rownum): line)
Data …Run Code Online (Sandbox Code Playgroud) 我有一个包含如下数据的数据集:
value
[1,] 41601325
[2,] 54917632
[3,] 64616616
[4,] 90791277
[5,] 35335221
[6,] .
. .
. .
Run Code Online (Sandbox Code Playgroud)
我必须使用它缩小到范围 [0,1]
apply(data1, MARGIN = 2, FUN = function(X) (X - min(X))/diff(range(X)))
Run Code Online (Sandbox Code Playgroud)
因为我需要将数据放入包GP_fit()中GPfit。缩小后的值变成:
value
[1,] .4535
[2,] .56355
[3,] .64616
[4,] .70791
[5,] .35563
[6,] .
. .
. .
Run Code Online (Sandbox Code Playgroud)
在应用GP_fit()缩放数据并使用predict()并作为输出后,我得到了新值,这些值再次位于范围 [0,1] 内,如下所示:
value
[1,] .0135
[2,] .234355
[3,] .6716
[4,] .325079
[5,] .95563
[6,] .
. .
. .
Run Code Online (Sandbox Code Playgroud)
但我想把这些带回原来的范围。我怎样才能做到这一点?
基本上我想恢复/返回原始格式以显示输出predict()
注意: …
python ×7
apache-spark ×5
pyspark ×5
r ×2
rdd ×2
aggregate ×1
csv ×1
dataframe ×1
file-writing ×1
list ×1
macos ×1
output ×1
rowcount ×1
scaling ×1
subprocess ×1