我有以下的数据结构(一个"原子矢量?")输出从daply
在 plyr
,其中我有函数返回对于每个受试者,病症,和第三项不同的措施.
x = structure(c(-0.93, 0.39, 0.88, 0.63, 0.86, -0.69, 1.02, 0.29, 0.94,
0.93, -0.01, 0.79, 0.32, 0.14, 0.13, -0.07, -0.63, 0.26, 0.07, 0.87,
-0.36, 1.043, 0.33, -0.12, -0.055, 0.07, 0.67, 0.48, 0.002, 0.008,
-0.19, -1.39, 0.98, 0.43, -0.02, -0.15,-0.08, 0.74, 0.96, 0.44, -0.005,
1.09, 0.36, 0.04, 0.09, 0.17, 0.68, 0.51, 0.09, 0.12, -0.05, 0.11,
0.99, 0.62, 0.13, 0.06, 0.27, 0.74, 0.96, 0.45), .Dim = c(5L,
2L, 2L, 3L), .Dimnames = structure(list(Subject = c("s1", "s2",
"s3", "s4", …
Run Code Online (Sandbox Code Playgroud) 如何使用d3返回变量的特定属性?
例如,我想通过鼠标悬停选择一个元素,并将选择传递给一个函数,但前提是该元素id
是一个特定的名称.
像这样的东西?
d3.select("body").on("mouseover", function(){
if (d3.select(this).attr("id") == "correct") {
enableInteraction(d3.select(this));
}
});
Run Code Online (Sandbox Code Playgroud) 我有一些R代码我需要移植到python.然而,R的神奇data.frame和ddply让我无法在python中找到一个好方法.
样本数据(R):
x <- data.frame(d=c(1,1,1,2,2,2),c=c(rep(c('a','b','c'),2)),v=1:6)
Run Code Online (Sandbox Code Playgroud)
样本计算:
y <- ddply(x, 'd', transform, v2=(v-min(v))/(max(v)-min(v)))
Run Code Online (Sandbox Code Playgroud)
样本输出:
d c v v2
1 1 a 1 0.0
2 1 b 2 0.5
3 1 c 3 1.0
4 2 a 4 0.0
5 2 b 5 0.5
6 2 c 6 1.0
Run Code Online (Sandbox Code Playgroud)
所以这是我对那里的pythonistas的问题:你会怎么做?您有一个具有几个重要维度的数据结构.
对于每个(c),并且每个(d)计算(v-min(v))/(max(v)-min(v)))并将其与对应的(d,c)对相关联.
您可以随意使用您想要的任何数据结构,只要它们能够快速处理相当大的数据集(适合内存的数据集).
在R中,当向数据帧添加不等长的新数据时,值会重复以填充数据帧:
df <- data.frame(first=c(1,2,3,4,5,6))
df$second <- c(1,2,3)
Run Code Online (Sandbox Code Playgroud)
收益:
first second
1 1 1
2 2 2
3 3 3
4 4 1
5 5 2
6 6 3
Run Code Online (Sandbox Code Playgroud)
但是,大熊猫需要相同的索引长度.
我如何在R中"填写"重复数据,就像我在R中一样?
我在熊猫中有以下数据帧
target A B C
0 cat bridge cat brush
1 brush dog cat shoe
2 bridge cat shoe bridge
Run Code Online (Sandbox Code Playgroud)
如何测试是否df.target
在任何列中['A','B','C', etc.]
,哪些列要检查?
我已经尝试将A,B和C合并到一个字符串中使用,df.abcstring.str.contains(df.target)
但这不起作用.
我正在将MATLAB代码调整为R并尝试使用ARMA公式生成波形.是否有一个简单的R等效函数用于MATLAB filter
采用AR/MA系数来构建波形?
npts = 100;
a = [1 0.6]; % AR coeffs
b = [1 0.25 3]; % MA coeffs
e = randn(npts,1); % generate gaussian white noise
waveform = filter(b,a,e); % generate waveform
Run Code Online (Sandbox Code Playgroud) 我正试图在iPython Notebook中打印三个大熊猫箱图.
每个数据帧看起来基本上都是这样的:
sub cond accuracy
s1 A 0.814868
s2 A 0.504574
s3 A 0.438314
s4 A 0.956235
s5 A 0.370771
s1 B 0.228724
s2 B 0.691374
s3 B 0.237314
s4 B 0.32633
s5 B 0.859961
Run Code Online (Sandbox Code Playgroud)
当我在没有按条件子集的情况下绘制精度时,这很有效:
fig, axes = plt.subplots(nrows=1, ncols=3)
for i, df in enumerate([df1, df2, df3]):
df.boxplot('accuracy',ax=axes[i])
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用条件为每个数据框架绘制精度时:
df.boxplot('accuracy',by='cond',ax=axes[i])
仅显示最后一个图(而不是根据其轴分配的位置).
这是怎么回事?在iPython Notebook中有没有更好的方法来绘制彼此相邻的箱形图?
我有一个DataFrame
连续的措施,以偶尔发生的事件为标志:
TimeIndex Event Value
0 NaN 4.099969
1 NaN 3.833528
2 NaN -1.335025
3 A 4.420085
4 NaN 4.508899
5 NaN 4.557383
6 B -3.377152
7 NaN 4.508899
8 NaN -1.919803
9 A 2.18520
10 NaN 3.821221
11 C 0.922389
12 NaN 2.165784
Run Code Online (Sandbox Code Playgroud)
我想要每个事件的平均值,还需要事件发生前两个时间点和事件发生后两个时间点的平均值。像这样的事情可能会奏效:
TimeIndex Event Value Around_A Around_B Around_C
0 NaN 4.099969 NaN NaN NaN
1 NaN 3.833528 -2 NaN NaN
2 NaN -1.335025 -1 NaN NaN
3 A 4.420085 0 NaN NaN
4 NaN 4.508899 1 …
Run Code Online (Sandbox Code Playgroud) 我想将一系列图像显示为动画 - 我会使用GIF,但我想操纵特定的帧.
我已经在SVG画布上显示了图像,现在我想xlink:href
动态更改.
function startAnimation(){
c += 1;
d3.select(this)
.transition()
.attr("xlink:href", "images/image-" + c.toString() +".png")
.each("end", startAnimation);
};
Run Code Online (Sandbox Code Playgroud)
如果我尝试更改像图像高度这样的属性,这种方法可以正常工作,但它似乎不适用于该属性xlink:href
.
有没有办法动态更新这样的图像?
我想在简短的d3动画中显示,并在完成后,自动选择/聚焦表单字段以获取用户输入.
看起来它最好通过链接功能来完成.我尝试使用javascript函数focus()在加载时选择表单字段("signup","inputname"),但这不起作用.
动画完成后如何自动选择表单域?
d3.js:
<script>
selectReady = d3.selectAll("#ready")
.on("mouseover", function(){d3.select(this).style("color", "red");})
.on("mouseout", function(){d3.select(this).style("color", "black");})
.on("mousedown", animateDisplay); //starts animation with a mousepress
function animateDisplay(){
d3.selectAll("#Display")
.transition()
.delay(200)
.duration(1000)
.style("color","white") // changes Display to white
.each("end",selectForm);
};
function selectForm(){
d3.select("#inputname")
.focus(); // remove() works here
};
</script>
Run Code Online (Sandbox Code Playgroud)
HTML:
<html>
<head>
<script type="text/javascript"src="http://mbostock.github.com/d3/d3.js"></script>
</head>
<body>
<p id="ready">Click when ready<p></th>
<p id='Display'>A</p>
<p id='Display'>B</p>
<p id='Display'>C</p>
<form name="signup" id="signup" method="post" action="#">
<table>
<tr>
<td colspan="2" class="labelcell"><label for="name">Name</label></td>
<td colspan="2" class="fieldcell">
<input type="text" name="inputname" id="inputname" …
Run Code Online (Sandbox Code Playgroud)