小编Dna*_*iel的帖子

R中的图像功能需要永远运行

我有一个23,000乘200的矩阵,在R中作为数据帧读取,但处理它比在MATLAB中花费更长的时间.

例如,在MATLAB中我输入image(X)并且它需要不到一秒钟,而在R中需要约一分钟来生成图像.

如果我这样做dim(X),那就是同一个故事.

有什么想法为什么R与MATLAB相比可能无法有效地处理这样的小矩阵?

我很喜欢R,只是想知道减速的可能来源.

matlab r

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

HADOOP_HOME和hadoop流媒体

嗨,我想在已安装hadoop的服务器上运行hadoop,但我不知道hadoop所在的目录.服务器由服务器管理员配置.

为了加载hadoop,我使用dotkit包中的use命令.

可能有几个解决方案,但想知道hadoop软件包的安装位置,如何设置$ HADOOP_HOME变量,以及如何approp运行hadoop流媒体作业,例如$ HADOOP_HOME/bin/hadoop jar $ HADOOP_HOME/mapred/contrib /streaming/hadoop-streaming.jar,又名,http://wiki.apache.org/hadoop/HadoopStreaming.

谢谢!任何帮助将不胜感激!

hadoop hadoop-streaming

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

用于提交命令的os.system

我正在使用os.system向系统提交命令.

也就是说,

import os
os.system(my_cmd)
Run Code Online (Sandbox Code Playgroud)

但我想知道如何获得输出,即,让我们说我在bash中并输入我的cmd,我会得到这种形式的输出:

Job <57960787> is submitted to queue <queueq>.
Run Code Online (Sandbox Code Playgroud)

我怎样才能在python中使用os.system(cmd),获取文本输出,并解析它以获取作业ID,57960787.

谢谢!

python lsf

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

逐行读取文件,有时读取同一循环中的下一行

我想逐行读取python中的文件,但在某些情况下(基于if条件)我还想读取文件中的下一行,然后继续以相同的方式读取它.

例:

    file_handler = open(fname, 'r')
    for line in file_handler:
       if line[0] == '#':
           print line
       else:
           line2 = file_handler.readline()
           print line2
Run Code Online (Sandbox Code Playgroud)

基本上在这个例子中我试图逐行读取它,但是当行没有开始时#我想读下一行,打印它,然后继续读取line2之后的行.这只是一个例子,我在代码中遇到类似的错误,但我的目标是标题中所述.

但是我会得到一个错误ValueError: Mixing iteration and read methods would lose data.

是否有可能以更聪明的方式做我想做的事情?

python

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

连接几个文件删除标题行

连接多个文件的好方法是什么,但删除标题行(事先未知的标题行数),并将第一个文件标题行保留为新连接文件中的标题?

我想在python中这样做,但只要我可以使用subprocess来调用unix命令,awk或其他语言也会工作.

注意:标题行都以#开头.

python unix awk

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

macOS X奇怪的python

短Q,

在mac OS sierra终端中,

如果我做:

whereis python
/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

然后,如果我这样做: /usr/bin/python它打开python 2.10

但如果我执行 python它会打开python 2.7.8.

我怎么知道python 2.7.8的whereis以及为什么whereis指向不同于默认版本的python版本?

python macos terminal

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

将DateTimeindex转换为仅包含年,小时和日期而非时间信息

我有一个数据框,其索引也包含小时:秒:...但我只想让它包含日期为年,月,日.

索引是否仍然可以是DateTimeIndex,但只包含年,月,日?

目前的指数如下:

my_index = DatetimeIndex(['2017-08-25', '2017-08-24', '2017-08-23', '2017-08-22',
           '2017-08-21', '2017-08-20', '2017-08-19', '2017-08-18',
           '2017-08-17', '2017-08-16',
           ...
           '2015-07-19', '2015-07-18', '2015-07-17', '2015-07-16',
           '2015-07-15', '2015-07-14', '2015-07-13', '2015-07-12',
           '2015-07-11', '2015-07-10'],
          dtype='datetime64[ns]', length=778, freq=None)
Run Code Online (Sandbox Code Playgroud)

我可以:

only_date_index = [el.date() for el in my_index]
Run Code Online (Sandbox Code Playgroud)

但是如果我想在pandas中使用resample函数,我会得到错误:TypeError:只对DatetimeIndex,TimedeltaIndex或PeriodIndex有效,但得到了一个'Index'实例.

python pandas

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

直接从 urlrquest 读取压缩的 json

我想直接将文件读取到 python 中而不需要保存它 - zip 文件相对较小并且绝对适合内存。

我目前正在尝试这个:

        import urllib
        import json
        access_url = urllib.request.urlopen('http://api.eia.gov/bulk/COAL.zip')
        data = json.loads(access_url.read().decode())
Run Code Online (Sandbox Code Playgroud)

但我收到错误:UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 15 中的字节 0xa0: 无效的起始字节

什么额外步骤可以解决这个问题?

我正在使用Python 3.6。

谢谢!

python api json

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

subprocess.call

我是subprocess.call函数的新手,我尝试过同一个调用的不同组合,但它不起作用.

我正在尝试执行以下命令:

cmd = 'sort -k1,1 -k4,4n -k5,5n '+outpath+fnametempout+' > '+outpath+fnameout
print cmd
Run Code Online (Sandbox Code Playgroud)

如果我尝试通话,我会收到错误消息:

cmd = cmd.split(" ")
print cmd
subprocess.call(cmd)
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

sort: stat failed: >: No such file or directory
Run Code Online (Sandbox Code Playgroud)

python subprocess

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

bash程序读取数组

我试图运行一个bash程序,它接受一些命令行输入名称,然后将一个数组作为命令行输入.

也就是说,

#!/bin/bash
name1=$1
name2=$2
my_array_input=("dog" "cat" "lion")
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我将name1和name2作为输入,并在脚本中声明和设置my_array_input.

在我的真实脚本中,我还想将name1和name2作为$ 1和$ 2,但我也希望能够从用户那里获取一个(未知大小/可变大小)my_array_input.用户可以输入不同长度的数组,并根据自己的意愿输入自己的动物名称......

请注意,所有输入都应该是命令行输入.

有没有使用bash脚本执行此操作的技巧?

谢谢!

linux arrays bash

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

标签 统计

python ×7

api ×1

arrays ×1

awk ×1

bash ×1

hadoop ×1

hadoop-streaming ×1

json ×1

linux ×1

lsf ×1

macos ×1

matlab ×1

pandas ×1

r ×1

subprocess ×1

terminal ×1

unix ×1