这是一个相当微不足道的问题,但它触发了我的强迫症,而我在过去的半小时内未能找到合适的解决方案.
对于背景,我希望为DataFrame中的每个组计算一个值(我们称之为F),该值来自现有DataFrame中不同的聚合度量列.
这是我正在尝试做的一个玩具示例:
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': ['X', 'Y', 'X', 'Y', 'Y', 'Y', 'Y', 'X', 'Y', 'X'],
'B': ['N', 'N', 'N', 'M', 'N', 'M', 'M', 'N', 'M', 'N'],
'C': [69, 83, 28, 25, 11, 31, 14, 37, 14, 0],
'D': [ 0.3, 0.1, 0.1, 0.8, 0.8, 0. , 0.8, 0.8, 0.1, 0.8],
'E': [11, 11, 12, 11, 11, 12, 12, 11, 12, 12]
})
df_grp = df.groupby(['A','B'])
df_grp.apply(lambda x: x['C'].sum() * …Run Code Online (Sandbox Code Playgroud) 我正在使用doSMP包中的嵌套foreach来根据我开发的函数生成结果.通常问题是使用三个嵌套循环,但是由于生成结果的大小(每个i大约80,000),当最终结果矩阵超过指定行数时,我不得不暂停编译并将结果写入文件.
i = 1
write.off = 1
while(i <= length(i.vector)){
results.frame = as.data.frame(matrix(NA, ncol = 3, nrow = 1))
while(nrow(results.frame) < 500000 & i <= length(i.vector)){
results = foreach(j = 1:length(j.vector), .combine = "rbind", .inorder = TRUE) %:%
foreach(k = 1:length(k.vector), .combine = "rbind", .inorder = TRUE) %dopar%{
ith.value = i.vector[i]
jth.value = j.vector[j]
kth.value = k.vector[k]
my.function(ith.value, jth.value, kth.value)
}
results.frame = rbind(results.frame, results)
i = i + 1
}
results.frame = results.frame[-1,]
write.table(results.frame, paste("part_",write.off, sep = ""))
write.off …Run Code Online (Sandbox Code Playgroud) 我正在运行RStudio Server,无法安装该zoo软件包.我得到的错误消息如下:
安装包(S)到一个'/ home/tsajid/R /库'试图URL(如'LIB'是不确定的)' http://mirrors.nics.utk.edu/cran/src/contrib/zoo_1.7-9 .tar.gz '内容类型'应用程序/ x-gzip'长度807084字节(788 Kb)打开URL =========================== =======================已下载788 Kb
**安装源包'zoo'...
**包'zoo'成功解压缩并检查MD5总和
**libs sh:make:命令未找到错误:包'zoo'编译失败
**删除'/ home/tsajid/R/library/zoo'install.packages中的警告:
'zoo'包的安装具有非零退出状态下载的源包位于'/ tmp/RtmpsKlJWz/downloaded_packages'中
我尝试安装包存档文件,但我收到相同的错误消息.
会话信息:
R version 2.15.1 (2012-06-22)
Platform: x86_64-redhat-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] svMisc_0.9-65
loaded via a namespace (and not attached):
[1] tools_2.15.1
Run Code Online (Sandbox Code Playgroud)