我有一个enum和这样的struct定义:
typedef enum
{
MONDAY = 1,
TUESDAY,
WEDNESDAY
} ThreeDays;
typedef struct
{
int hello;
ThreeDays day;
} Weekday;
static Weekday weekday = { 1, 2};
Run Code Online (Sandbox Code Playgroud)
然后我在lint中得到以下错误:
Error 64: Type mismatch (initialization) (int/enum)
Run Code Online (Sandbox Code Playgroud)
这个错误的原因是什么?我该如何纠正?
我正在使用python尝试使用spark计算单词计数问题.但是当我尝试使用.saveAsTextFile命令将输出RDD保存在文本文件中时,我遇到了问题.这是我的代码.请帮我.我被卡住了.感谢您的时间.
import re
from pyspark import SparkConf , SparkContext
def normalizewords(text):
return re.compile(r'\W+',re.UNICODE).split(text.lower())
conf=SparkConf().setMaster("local[2]").setAppName("sorted result")
sc=SparkContext(conf=conf)
input=sc.textFile("file:///home/cloudera/PythonTask/sample.txt")
words=input.flatMap(normalizewords)
wordsCount=words.map(lambda x: (x,1)).reduceByKey(lambda x,y: x+y)
sortedwordsCount=wordsCount.map(lambda (x,y):(y,x)).sortByKey()
results=sortedwordsCount.collect()
for result in results:
count=str(result[0])
word=result[1].encode('ascii','ignore')
if(word):
print word +"\t\t"+ count
results.saveAsTextFile("/var/www/myoutput")
Run Code Online (Sandbox Code Playgroud) 我有以下内容DataSet,具有以下结构。
case class Person(age: Int, gender: String, salary: Double)
Run Code Online (Sandbox Code Playgroud)
我想通过和来确定平均工资,因此我将这两个关键字归为一组。我遇到了两个主要问题,一个是两个键混合在一个键中,但我想将它们放在两个不同的列中,另一个是该列的名称很傻,我不知道该怎么做。使用将该文件重命名(显然,将不起作用)。genderageDSaggregatedasaliasDS API
val df = sc.parallelize(List(Person(100000.00, "male", 27),
Person(120000.00, "male", 27),
Person(95000, "male", 26),
Person(89000, "female", 31),
Person(250000, "female", 51),
Person(120000, "female", 51)
)).toDF.as[Person]
df.groupByKey(p => (p.gender, p.age)).agg(typed.avg(_.salary)).show()
+-----------+------------------------------------------------------------------------------------------------+
| key| TypedAverage(line2503618a50834b67a4b132d1b8d2310b12.$read$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$Person)|
+-----------+------------------------------------------------------------------------------------------------+
|[female,31]| 89000.0...
|[female,51]| 185000.0...
| [male,27]| 110000.0...
| [male,26]| 95000.0...
+-----------+------------------------------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud) 我是C的新手,但我有Java和Android方面的经验.我的for循环中有问题.它永远不会结束,只是继续下去.
char entered_string[50];
char *p_string = NULL;
gets( entered_string );
for( p_string = entered_string; p_string != '\0'; p_string++ ){
//....
}
Run Code Online (Sandbox Code Playgroud)
我知道获取是不安全的,不推荐和弃用,但根据我的规格,我必须使用它.我想通过使用指针遍历每个元素.
我不知道在使用Pollard的rho算法计算主要因子分解时我在哪里做错了.
#include<stdio.h>
#define f(x) x*x-1
int pollard( int );
int gcd( int, int);
int main( void ) {
int n;
scanf( "%d",&n );
pollard( n );
return 0;
}
int pollard( int n ) {
int i=1,x,y,k=2,d;
x = rand()%n;
y = x;
while(1) {
i++;
x = f( x ) % n;
d = gcd( y-x, n);
if(d!=1 && d!=n)
printf( "%d\n", d);
if(i == k) {
y = x;
k = 2 * k;
}
}
}
int …Run Code Online (Sandbox Code Playgroud) #include<string.h>
#include<stdio.h>
int firstState(char s[], int length);
int secondState(char s[], int length);
int thirdState(char s[], int length);
int forthState(char s[], int length);
int main()
{
char string[10];
gets(string);
if( firstState(string, 0) )
printf("Accept\n");
else
printf( "Not accept\n" );
return 0;
}
int firstState(char s[], int length)
{
if(s[length] == 'a')
return (secondState(s, length++));
else if(s[length] == 'b')
return firstState(s, length++);
else
return 0;
}
int secondState(char s[], int length)
{
if(s[length] == 'a')
return secondState(s, length++);
else if(s[length] == 'b') …Run Code Online (Sandbox Code Playgroud) 假设我有以下 RDD:
a = sc.parallelize([1, 2, 5, 3])
b = sc.parallelize(['a','c','d','e'])
Run Code Online (Sandbox Code Playgroud)
我如何将这 2 个 RDD 组合成一个 RDD,如下所示:
[('a', 1), ('c', 2), ('d', 5), ('e', 3)]
Run Code Online (Sandbox Code Playgroud)
使用a.union(b)just 将它们组合在一个列表中。任何的想法?
我已经构建了一个数据框,使用concat它生成一个字符串。
import sqlContext.implicits._
val df = sc.parallelize(Seq((1.0, 2.0), (3.0, 4.0))).toDF("k", "v")
df.registerTempTable("df")
val dfConcat = df.select(concat($"k", lit(","), $"v").as("test"))
dfConcat: org.apache.spark.sql.DataFrame = [test: string]
+-------------+
| test|
+-------------+
| 1.0,2.0|
| 3.0,4.0|
+-------------+
Run Code Online (Sandbox Code Playgroud)
我怎样才能将它转换回双倍?
我试过投射到DoubleType但我得到null
import org.apache.spark.sql.types._
intterim.features.cast(IntegerType))
val testDouble = dfConcat.select( dfConcat("test").cast(DoubleType).as("test"))
+----+
|test|
+----+
|null|
|null|
+----+
Run Code Online (Sandbox Code Playgroud)
并udf在运行时返回数字格式异常
import org.apache.spark.sql.functions._
val toDbl = udf[Double, String]( _.toDouble)
val testDouble = dfConcat
.withColumn("test", toDbl(dfConcat("test")))
.select("test")
Run Code Online (Sandbox Code Playgroud) 假设有一个日期框架,其中一列包含日期作为字符串.对于该假设,我们创建以下dataFrame作为示例:
# Importing sql types
from pyspark.sql.types import StringType, IntegerType, StructType, StructField, DoubleType, FloatType, DateType
from pyspark.sql.functions import date_format
import random
import time
def strTimeProp(start, end, format, prop):
stime = time.mktime(time.strptime(start, format)) # Parse a string representing a time according to a format
etime = time.mktime(time.strptime(end, format))
ptime = stime + prop * (etime - stime)
return time.strftime(format, time.localtime(ptime))
def randomDate(start, end, prop):
return strTimeProp(start, end, '%m-%d-%Y', prop)
# Creación de un dataframe de prueba:
schema = StructType(
[
StructField("dates1", …Run Code Online (Sandbox Code Playgroud) 我目前有一个包含变量和观测值的数据集。我想预测一个变量(需求),它是一个连续的变量,因此我需要使用回归模型。我尝试过Linear Regression,并使用R2大约的指标对其进行了评估0.85。我想用其他模型评估其性能,其中一个是NNs。我相信神经网络更适合分类之类的其他任务,不过我想尝试一下。
我scikit-learn之所以决定使用它,主要是因为它提供了两种模型(线性回归和多层感知器),但事实是,R2与线性回归相比,该度量标准太过复杂了。因此,我得出的结论是我缺少许多重要的配置。在下面,您可以查看我的代码以及数据的来源。
我的数据有以下几列,只demand(这是我的标签)population,gdp,day和year是数值连续,其余都是绝对的。
['demand','holy','gdp','population', 'day','year', 'f0', 'f1', 'f2', 'f3', 'f4','f5', 'f6', 'f7', 'f8', 'f9', 'f10', 'f11', 'f12', 'f13', 'f14', 'f15', 'f16', 'f17', 'f18', 'f19', 'f20', 'f21', 'f22', 'f23', 'g0', 'g1', 'g2', 'g3', 'g4', 'g5', 'g6', 'g7', 'g8', 'g9', 'g10', 'g11']
Run Code Online (Sandbox Code Playgroud)
这是我实际上所做的,我删除了一些输出。
import pandas as pd
import numpy as np
import math as math
from sklearn.linear_model import LinearRegression …Run Code Online (Sandbox Code Playgroud)