我想迭代整个文件的每一行.一种方法是通过读取整个文件,将其保存到列表中,然后浏览感兴趣的行.这种方法使用了大量内存,所以我正在寻找替代方案.
我的代码到目前为止:
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距离.
我princomp在R中用来执行PCA.我的数据矩阵很大(10K x 10K,每个值最多4个小数点).在Xeon 2.27 GHz处理器上需要大约3.5小时和~6.5 GB的物理内存.
由于我只想要前两个组件,有没有更快的方法呢?
更新:
除了速度之外,还有一种内存有效的方法吗?
用于计算前两个组件需要大约2小时和~6.3 GB的物理内存svd(,2,).
princomp()在R中使用函数时,遇到以下错误:"covariance matrix is not non-negative definite".
我认为,这是由于协方差矩阵中的某些值为零(实际上接近零,但在舍入期间变为零).
当协方差矩阵包含零时,是否有解决方法可以继续使用PCA?
[仅供参考:获得协方差矩阵是princomp()通话中的一个中间步骤.重现此错误的数据文件可以从这里下载 - http://tinyurl.com/6rtxrc3]
而不是一个完整的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) 我试图使用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.
如何在不添加新元素的情况下使用已定义的函数?
eigenvector ×2
pca ×2
python ×2
r ×2
defined ×1
eigenvalue ×1
file-read ×1
perl ×1
princomp ×1
random ×1
shuffle ×1
statistics ×1
string ×1