小编384*_*X21的帖子

如何在Python中逐行读取大文件

我想迭代整个文件的每一行.一种方法是通过读取整个文件,将其保存到列表中,然后浏览感兴趣的行.这种方法使用了大量内存,所以我正在寻找替代方案.

我的代码到目前为止:

for each_line in fileinput.input(input_file):
    do_something(each_line)

    for each_line_again in fileinput.input(input_file):
        do_something(each_line_again)
Run Code Online (Sandbox Code Playgroud)

执行此代码会显示错误消息:device active.

有什么建议?

目的是计算成对的字符串相似性,意味着对于文件中的每一行,我想与每隔一行计算Levenshtein距离.

python file-read

517
推荐指数
6
解决办法
77万
查看次数

计算R中前两个主成分的最快方法是什么?

princomp在R中用来执行PCA.我的数据矩阵很大(10K x 10K,每个值最多4个小数点).在Xeon 2.27 GHz处理器上需要大约3.5小时和~6.5 GB的物理内存.

由于我只想要前两个组件,有没有更快的方法呢?

更新:

除了速度之外,还有一种内存有效的方法吗?

用于计算前两个组件需要大约2小时和~6.3 GB的物理内存svd(,2,).

r eigenvalue eigenvector pca

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

当协方差矩阵为零时,如何在R中使用princomp()函数?

princomp()在R中使用函数时,遇到以下错误:"covariance matrix is not non-negative definite".

我认为,这是由于协方差矩阵中的某些值为零(实际上接近零,但在舍入期间变为零).

当协方差矩阵包含零时,是否有解决方法可以继续使用PCA?

[仅供参考:获得协方差矩阵是princomp()通话中的一个中间步骤.重现此错误的数据文件可以从这里下载 - http://tinyurl.com/6rtxrc3]

statistics r eigenvector pca princomp

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

如何在Python中进行随机但部分的随机播放?

而不是一个完整的shuffle,我在python中寻找一个部分 shuffle功能.

示例: "string"必须产生"stnrig",但不能产生"nrsgit"

如果我可以定义必须重新排列的特定"百分比"字符会更好.

目的是测试字符串比较算法.我想确定"shuffle的百分比",超过这个百分比,(my)算法将两个(混乱)字符串标记为完全不同.

更新:

这是我的代码.欢迎改进!

import random

percent_to_shuffle = int(raw_input("Give the percent value to shuffle : "))
to_shuffle = list(raw_input("Give the string to be shuffled : "))

num_of_chars_to_shuffle = int((len(to_shuffle)*percent_to_shuffle)/100)

for i in range(0,num_of_chars_to_shuffle):
    x=random.randint(0,(len(to_shuffle)-1))
    y=random.randint(0,(len(to_shuffle)-1))
    z=to_shuffle[x]
    to_shuffle[x]=to_shuffle[y]
    to_shuffle[y]=z

print ''.join(to_shuffle)
Run Code Online (Sandbox Code Playgroud)

python string random shuffle

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

在Perl中,如何在二维数组的元素上使用'defined'函数?

我试图使用Perl中定义的函数来检查是否定义了元素.

代码:

$mylist[0][0]="wqeqwe";
$mylist[0][1]="afasf";
$mylist[1][0]="lkkjh";

print scalar(@mylist), "\n";

if (defined($mylist[2][0])){print "TRUE\n";}

print scalar(@mylist), "\n";
Run Code Online (Sandbox Code Playgroud)

产量

2
3
Run Code Online (Sandbox Code Playgroud)

在使用定义函数之前,第一维中有两个元素@myarray.使用定义的函数后,元素数量增加到3.

如何在不添加新元素的情况下使用已定义的函数?

perl multidimensional-array autovivification defined

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