我需要打开和操作许多文件中存在的数据,这些文件位于多个文件夹中.我们说的是大约500k文件,其中包含大约5Gb的数字数据.
我使用过这些数据,但运行半简单算法大约需要一个小时.我想知道更改文件地址的过程是否是最耗时的操作...(因为我必须做循环,我连接我想要访问的文件夹/文件号码).我正在将所有原始数据合并到一个文件(带有文件ID)中,希望通过所有原始数据花费更少的时间...
我在这个假设中是否正确?这需要我很多时间.我用c ++做这个.感谢您的任何意见
@Thomas:谢谢你的建议.我正在添加多个缓冲区,它已经显示出有希望的迹象.我肯定会为每个任务启动线程.我将尝试使我的阵列大约1 Mb,看看它是否真的加快了速度.所有缓冲区都是全局变量,所以它应该没问题......
是否真的可以看到 itertools.Combination 或其他对象的 len() ,而不将其具体化到列表中?
我可以用阶乘得到梳子的基数或排列,......但我想要一些概括的东西。
谢谢
我正在努力将几张图保存在同一PDF上。数据源是一个数据框。我考虑过将它们另存为png,但这一点都不实际。
pdf_pages = PdfPages('kde.pdf')
for i in range(1,114):
for j in range(0,113):
x=t1.iloc[:,i]
y=t1.iloc[:,j]
fig=sns.jointplot(x=x, y=y, kind="kde",dropna=True);
pdf_pages.savefig(fig)
Run Code Online (Sandbox Code Playgroud) 我在从以下数据中删除适量信息时遇到问题:
18,14,17,2,9,8
17,17,17,14
18,14,17,2,1,1,1,1,9,8,1,1,1
我正在应用 !duplicate 来删除重复项。
SplitFunction <- function(x) {
b <- unlist(strsplit(x, '[,]'))
c <- b[!duplicated(b)]
return(paste(c, collapse=","))
}
Run Code Online (Sandbox Code Playgroud)
我在仅删除连续的重复项时遇到问题。下面的结果是我得到的。
18,14,17,2,9,8
17,14
18,14,17,2,1,9,8
下面的数据是我想要获得的。
18,14,17,2,9,8
17,14
18,14,17,2,1,9,8,1
你能建议一种方法来执行此操作吗?理想情况下是矢量化方法...
谢谢,
米格尔
我在优化路线图时遇到一些问题。
我想在一个字符串数组中生成一个频率表(计数不同的事件)。我的代码非常适合小型数组,但是当我开始使用100k +结构(具有许多不同的值)时,它的性能还不够。
现在,我的方法是生成具有不同值的数组,比较值并增加计数器变量(映射到字符串)。
counter := make( map[string]int )
for _, distinct := range distinctStrArray{
for _, row := range StrArray{
if (row == distinct){
counter[distinct]++
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了另一种方法,其中先前对输入数组进行了排序(以最大程度地减少对地图的更改次数)。这有点快。
count:=0
for _, distinct := range distinctStrArray{
for _, row := range StrArray{
if (row == distinct){
count++
}
}
counter[distinct] += count
count= 0
}
Run Code Online (Sandbox Code Playgroud)
您对我可以如何优化简单的count(distinct)类型问题有任何建议吗?我对任何事情都开放。
谢谢!