- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在将所有数据集移动到 SPDE 库中,因为我在所有方面都体验到了出色的性能提升。一切,直到运行 proc transpose。与存储在普通 v9 库中的相同数据集相比,在 SPDE 数据集上执行所需的时间约为 60 倍。数据集按 item_id 排序。它正在被读/写到同一个库。
有谁知道为什么会这样?我是否错过了一些关于 SPDE 和 Proc Transpose 不能很好地协同工作的重要信息?
SPDE 库
MPRINT(XMLIMPORT_VANTAGE): proc transpose data = smplus.links_response_mechanism out = smplus.response_mechanism (drop = _NAME_)
prefix = rm_;
MPRINT(XMLIMPORT_VANTAGE): by item_id;
MPRINT(XMLIMPORT_VANTAGE): id lookup_code;
MPRINT(XMLIMPORT_VANTAGE): var x;
MPRINT(XMLIMPORT_VANTAGE): run;
NOTE: There were 5866747 observations read from the data set SMPLUS.LINKS_RESPONSE_MECHANISM.
NOTE: The data set SMPLUS.RESPONSE_MECHANISM has 3209353 observations and 14 variables.
NOTE: Compressing data set SMPLUS.RESPONSE_MECHANISM decreased size by 37.98 percent.
NOTE: PROCEDURE TRANSPOSE used (Total process time):
real time 28:27.63
cpu time 28:34.64
MPRINT(XMLIMPORT_VANTAGE): proc transpose data = mplus.links_response_mechanism out = mplus.response_mechanism (drop = _NAME_)
prefix = rm_;
MPRINT(XMLIMPORT_VANTAGE): by item_id;
68 The SAS System 02:00 Thursday, August 8, 2013
MPRINT(XMLIMPORT_VANTAGE): id lookup_code;
MPRINT(XMLIMPORT_VANTAGE): var x;
MPRINT(XMLIMPORT_VANTAGE): run;
NOTE: There were 5866747 observations read from the data set MPLUS.LINKS_RESPONSE_MECHANISM.
NOTE: The data set MPLUS.RESPONSE_MECHANISM has 3209353 observations and 14 variables.
NOTE: Compressing data set MPLUS.RESPONSE_MECHANISM decreased size by 27.60 percent.
Compressed is 32271 pages; un-compressed would require 44572 pages.
NOTE: PROCEDURE TRANSPOSE used (Total process time):
real time 28.76 seconds
cpu time 28.79 seconds
最佳答案
在我看来,PROC TRANSPOSE 和 SPDE 存在一些问题。这是一个简单的SSCCE,它有很大的不同;没有你的那么重要,但在某种程度上,这可能是桌面上的一个因素,首先没有特别实质性的性能调整。听起来像是调用 SAS 技术支持。
libname spdelib spde 'c:\temp\SPDE Main'
datapath=('c:\temp\SPDE Data' 'd:\temp\SPDE Data')
indexpath=('d:\temp\SPDE Index')
partsize=512;
libname mainlib 'c:\temp\';
data mainlib.bigdata;
do ID = 1 to 1500000;
do _varn=1 to 10;
varname=cats("Var_",_varn);
vardata=ranuni(7);
output;
end;
end;
run;
data spdelib.bigdata;
do ID = 1 to 1500000;
do _varn=1 to 10;
varname=cats("Var_",_varn);
vardata=ranuni(7);
output;
end;
end;
run;
*These data steps take roughly the same amount of time, around 30 seconds each;
proc transpose data=spdelib.bigdata out=spdelib.transdata;
by id;
id varname;
var vardata;
run;
*Run a few times, this takes around 3 to 4 minutes, with 1.5 minutes CPU time;
proc transpose data=mainlib.bigdata out=mainlib.transdata;
by id;
id varname;
var vardata;
run;
*Run a few times, this takes around 30 to 45 seconds, with 20 seconds CPU time;
关于sas - 使用 SPDE 的 proc transpose 运行时间比 v9 库长约 60 倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18130913/
import numpy as np import matplotlib.pyplot as plt import scipy.linalg as la A = np.arra
在没有指定轴的情况下,numpy 的 np.transpose(matrix) 和 np.matrix.transpose() 在二维矩阵上是否存在功能差异? 另外,有人可以尝试直观地解释轴规范如何工
我想让公式数组函数更容易 我写了一些代码,但它没有像我预期的那样插入我的复制范围: Sub copy_link() Dim copyrange As Range Dim pasterange As R
我有一张 table ,看起来像这样: +---+---+---+---+---+---+ | | a | b | c | d | e | +---+---+---+---+---+---+ |
我正在尝试进行某种反向转置,其中 ID(ISIN) 变得重复,但特征“周期”定义时间段,并且值特征从 3 个特征变为同一特征。如何在Python中从dfs到dfs2? dfs = pd.DataFra
Numpy是高性能科学计算和数据分析的基础包,里面包含了许多对数组进行快速运算的标准数学函数,掌握这些方法,能摆脱数据处理时的循环。 1.首先数组转置(T) 创建二维数组data如下: 进
我有一个因子变量,我想检索每个级别的计数。使用 summary() 函数很容易: > h hf summary(hf) (142,147] (147,153] (153,158] (158,163
想知道是否有人可以帮我解决这个问题 使用 VBA,我设置了一个宏,它首先将数据透视表转换到另一个工作表中,然后自动将数据修改为一个整洁的小列表,供用户稍后在数据库中设置。 现在,在第一次为数据透视表构
np.transpose 的时间复杂度是多少? 在我看来,它在内部循环了两个 for 循环,这意味着它应该具有 O(n2) 复杂度,但有人可以确认吗? 另外,有什么办法可以降低矩阵转置的时间复杂度 最
我想定义一个 TS 函数来将对象转置为数组,例如: const original = { value: [1, 2, 3], label: ["one", "two", "three
我正在使用 WorksheetFunction.Transpose在 VBA 中将混合日期/字符串的一维数组转换为二维数组以写入工作表。 将我的 Windows 区域设置设置为 DMY ,被写回的日期
我需要在列中的两个文本字符串之间复制数字,将其“转置”到第一个文本字符串旁边的列,然后重复该列的其余部分。数据集有数百行。 “对齐”(例如放置 NA 来纠正数字位置)不是必需的,转置就足够了。 输入:
我有一个带有 ID 列和一些功能列的 DataFrame。我想查看每个列值有多少个唯一 ID 的描述。 以下代码有效,但我想知道是否有比 to_frame().unstack().unstack()
我不确定“转置”在这里是否是正确的术语,但我希望使用 jq 转置一个二维对象,如下所示: [ { "name": "A", "keys": ["k1", "k2
运行 100,000 次迭代的模拟后,我尝试将每次迭代的值转储到列中。这是代码的要点: Sub test() Application.ScreenUpdating = False Dim totalg
我需要在列中的两个文本字符串之间复制数字,将其“转置”到第一个文本字符串旁边的列,然后重复该列的其余部分。数据集有数百行。 “对齐”(例如放置 NA 来纠正数字位置)不是必需的,转置就足够了。 输入:
我有一个向量列表: asdf = list(c(1, 2, 3, 4, 5), c(10, 20, 30, 40, 50)) 现在我想“转置”它,即获得5对的列表而不是5对的列表。 更具体地说,我希望
我有一个如下所示的数据集,我需要单行中每个类别的所有不同权重和计数 Sample_data category weights 1 aa 3.2 2 aa 2.2
我在 test.cpp 文件中得到了以下代码来实现: cout << "Case 2: the non-static Transpose function" << endl; { double
我想创建一个程序来创建具有随机字符的“.txt”文件,但可以创建转置"file"。接下来,我按照我的意愿添加了两个“.txt”文件的示例。 文件1 A|B|C|D|E|F|G| H|I|J|K|L|M
我是一名优秀的程序员,十分优秀!