小编sfa*_*tor的帖子

如何在Spark SQL中使用连字符转义列名

我在Spark中导入了一个json文件,并将其转换为表格

myDF.registerTempTable("myDF")
Run Code Online (Sandbox Code Playgroud)

然后我想在这个结果表上运行SQL查询

val newTable = sqlContext.sql("select column-1 from myDF")
Run Code Online (Sandbox Code Playgroud)

然而,由于列名称的夸大,这给了我一个错误column-1.我如何解决这个问题是Spark SQL?

scala apache-spark apache-spark-sql

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

如何为Perl变量设置默认值?

我是Perl的新手.我需要使用外部模块HTTP :: BrowserDetect.我正在测试一些代码,并试图从os_string方法获取操作系统的名称.所以,我只是初始化了对象并创建了一个变量来存储返回的值.

my $ua = HTTP::BrowserDetect->new($user_agent);
my $os_name = $ua->os_string();

print "$user_agent $os_name\n";
Run Code Online (Sandbox Code Playgroud)

有一些用户代理不是浏览器用户代理,因此他们不会从os_string获取任何值.我收到了一个错误Use of uninitialized value $os_name in concatenation (.) or string

当$ os_name未初始化时如何处理这种情况,因为方法os_string返回undef(这是我认为通过阅读模块源代码发生的事情).我想应该有一种方法来提供默认字符串,例如在这些情况下没有操作系统.

perl initialization perl-module object

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

在UDP中接收错误:连接被拒绝

我试图在特定端口通过UDP向服务器发送字符串HI,然后接收响应.但是,在我尝试使用recvfrom()获取响应后,我陷入阻塞状态.我尝试使用连接的UDP,但我得到:

在UDP中接收错误:连接被拒绝

可能是什么原因?服务器不在我的控制之下,但我知道它工作正常.

我添加了代码

int sockfdudp;
char bufudp[MAXDATASIZE], port[6];
struct addrinfo hints, *servinfo, *p;
struct sockaddr_storage addr;   
int rv;
char s[INET6_ADDRSTRLEN];
int bytes_recv, bytes_sent;
socklen_t len;

scanf("%s",port);
printf("UDP Port: %s \n", port);

// Start connecting to datagram server  
memset(&hints, 0, sizeof hints);
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_DGRAM;

if ((rv = getaddrinfo(SERVER_NAME, port, &hints, &servinfo)) != 0) {
    fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(rv));
    return 1;
}

// loop through all the results and make a socket
for(p = servinfo; p != …
Run Code Online (Sandbox Code Playgroud)

c sockets udp udpclient

12
推荐指数
2
解决办法
2万
查看次数

将文件以位形式写入C中的文件

我在C中实现了霍夫曼算法.我已经获得了基本功能,直到获得二进制代码字.所以例如,abcd将是100011000或类似的东西.现在的问题是如何在压缩文件中以二进制形式编写此代码.我的意思是如果我正常写它每1和0将是一个字符,所以没有压缩.

我需要用它们的位形式写出1和0.这是可能的C.如果是这样的话怎么样?

c bit-manipulation binaryfiles huffman-code

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

如何从unix c中的addrinfo获取端口号

我需要通过特定端口中的UDP将一些数据发送到远程服务器,并从中接收响应.但是,它是封锁的,我没有得到任何回应.我需要检查我从中得到的addrinfo值getaddrinfo(SERVER_NAME, port, &hints, &servinfo)是否正确.

如何从此数据结构中获取端口号?

我知道inet_ntop(p->ai_family, get_in_addr((struct sockaddr *)p->ai_addr),s, sizeof s)给我服务器的IP地址.(我在Beej指南中使用该方法.)

c sockets udp network-programming

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

如何在MATLAB中计算99%的覆盖率?

我在MATLAB中有一个矩阵,我需要为每列找到99%的值.换句话说,这个价值使99%的人口拥有比它更大的价值.MATLAB中有这个功能吗?

statistics matlab matrix percentile

10
推荐指数
2
解决办法
4097
查看次数

bash:从频率表中获取百分比

我制作了一个小的bash脚本,以获取文件某列中项目的频率.

输出就像这样

A     30
B     25
C     20
D     15
E     10
Run Code Online (Sandbox Code Playgroud)

我在脚本中使用的命令是这样的

cut -f $1 $2| sort | uniq -c | 
sort -r -k1,1 -n | awk '{printf "%-20s %-15d\n", $2,$1}'
Run Code Online (Sandbox Code Playgroud)

如何修改它以显示每个案例的相对百分比.所以它会是这样的

A     30     30%
B     25     25%
C     20     20% 
D     15     15%
E     10     10%
Run Code Online (Sandbox Code Playgroud)

linux bash shell awk

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

获取数据的概率密度

我需要分析有关DSL线路的互联网会话的一些数据.我想看看会话持续时间是如何分配的.我认为这样做的一个简单方法是首先制作所有会话持续时间的概率密度图.

我已经在R中加载了数据并使用了该density()函数.所以,它是这样的

plot(density(data$duration), type = "l", col = "blue", main = "Density Plot of Duration",
     xlab = "duration(h)", ylab = "probability density")
Run Code Online (Sandbox Code Playgroud)

我是R的新手和这种分析.这是我通过谷歌找到的.我有一个情节,但我留下了一些问题.这是正确的功能来做我想做的事还是还有别的什么?

在图中我发现Y轴刻度为0 ... 1.5.我不知道它怎么可能是1.5,不应该是0 ... 1?

此外,我想得到一个更平滑的曲线.由于数据集非常大,所以线条实际上是锯齿状的.当我提出这个问题时,让它们平滑会更好.我该怎么做呢?

plot r distribution probability data-analysis

9
推荐指数
2
解决办法
3万
查看次数

为什么我的VotingClassifier精度低于我的个人分类器?

我正在尝试使用scikit-learn中的VotingClassifier()创建三个分类器(随机森林,支持向量机和XGBoost)的集合.但是,我发现整体的准确性实际上是降低而不是增加.我无法弄清楚为什么.

这是代码:

from sklearn.ensemble import VotingClassifier

eclf = VotingClassifier(estimators=[('rf', rf_optimized), ('svc', svc_optimized), ('xgb', xgb_optimized)], 
                        voting='soft', weights=[1,1,2])

for clf, label in zip([rf, svc_optimized, xgb_optimized, eclf], ['Random Forest', 'Support Vector Machine', 'XGBoost', 'Ensemble']):
    scores = cross_val_score(clf, X, y, cv=10, scoring='accuracy')
    print("Accuracy: %0.3f (+/- %0.3f) [%s]" % (scores.mean(), scores.std(), label))
Run Code Online (Sandbox Code Playgroud)

XGBoost具有最高的准确度,所以我甚至尝试给它更多的重量无济于事.

我能做错什么?

python machine-learning scikit-learn ensemble-learning xgboost

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

熊猫:如何用groupby的平均值填充空值?

我有一个数据集将丢失一些看起来像这样的数据:

id    category     value
1     A            NaN
2     B            NaN
3     A            10.5
4     C            NaN
5     A            2.0
6     B            1.0
Run Code Online (Sandbox Code Playgroud)

我需要填写空值来使用模型中的数据.每次类别第一次出现时,它都是NULL.我想要的方法是对类似的情况AB具有多个值的情况用该类别的平均值替换空值.对于C仅出现一次的类别,只需填写其余数据的平均值即可.

我知道我可以简单地执行此操作C以获得所有行的平均值,但我仍然试图为A和B执行分类方法并替换空值.

df['value'] = df['value'].fillna(df['value'].mean()) 
Run Code Online (Sandbox Code Playgroud)

我需要最终的df是这样的

id    category     value
1     A            6.25
2     B            1.0
3     A            10.5
4     C            4.15
5     A            2.0
6     B            1.0
Run Code Online (Sandbox Code Playgroud)

python missing-data pandas imputation

9
推荐指数
2
解决办法
5925
查看次数