我很高兴使用这段代码:
z=lapply(filename_list, function(fname){
read.zoo(file=fname,header=TRUE,sep = ",",tz = "")
})
xts( do.call(rbind,z) )
Run Code Online (Sandbox Code Playgroud)
直到Dirty Data在一个文件的末尾出现:
Open High Low Close Volume
2011-09-20 21:00:00 1.370105 1.370105 1.370105 1.370105 1
Run Code Online (Sandbox Code Playgroud)
这是在下一个文件的开头:
Open High Low Close Volume
2011-09-20 21:00:00 1.370105 1.371045 1.369685 1.3702 2230
Run Code Online (Sandbox Code Playgroud)
所以rbind.zoo抱怨重复.
我不能使用像:
y <- x[ ! duplicated( index(x) ), ]
Run Code Online (Sandbox Code Playgroud)
因为它们在不同的动物园对象中,在列表中.我不能aggregate像这里建议的那样使用,因为它们是动物园对象的列表,而不是一个大的动物园对象.而且我无法得到一个重要的对象.第二十二条军规.
所以,当事情变得艰难时,强硬的黑客攻击一些for循环(原谅印刷品和停止,因为这还不是工作代码):
indexes <- do.call("c", unname(lapply(z, index)))
dups=duplicated(indexes)
if(any(dups)){
duplicate_timestamps=indexes[dups]
for(tix in 1:length(duplicate_timestamps)){
t=duplicate_timestamps[tix]
print("We have a duplicate:");print(t)
for(zix in 1:length(z)){
if(t %in% …Run Code Online (Sandbox Code Playgroud) 我在xts对象中有多个列,我想在第一列中找到一定数量以上的百分比,在第一列或第二列中高于某个数字的百分比,前三列中任何一列中的百分比超过一定数量等
我目前正在手动执行此操作,如下所示:
library(xts)
set.seed(69)
x = xts( cbind( v.1 = runif(20)*100, v.2 = runif(20)*100, v.3 = runif(20)*100, v.4 = runif(20)*100), Sys.Date()-20:1 )
c(
mean( x$v.1 > 50),
mean( x$v.1 > 50 | x$v.2 > 50) ,
mean( x$v.1 > 50 | x$v.2 > 50 | x$v.3 > 50) ,
mean( x$v.1 > 50 | x$v.2 > 50 | x$v.3 > 50 | x$v.4 > 50)
)
Run Code Online (Sandbox Code Playgroud)
这给出了这个示例输出:
[1] 0.50 0.70 0.80 0.95
Run Code Online (Sandbox Code Playgroud)
但现在我要推广到任意数量的列,而不仅仅是v.1对v.4.所以我正在寻找一个像这样的单一函数:
this_is_mean( x, c('v.1','v.2','v.3','v.4'), …Run Code Online (Sandbox Code Playgroud) 小标题:将它愚蠢到大熊猫,不要试图变得聪明.
我有一个list(res)的单列pandas数据帧,每个数据帧都包含相同类型的数字数据,但每个都有不同的列名.行索引没有意义.我想将它们放入一个非常长的单列数据帧中.
当我这样做时,pd.concat(res)我为每个输入文件(以及NaN单元的加载和加载)获得一列.我已经为参数(*)尝试了各种值,但没有一个能够完成我所追求的目标.
编辑:示例数据:
res = [
pd.DataFrame({'A':[1,2,3]}),
pd.DataFrame({'B':[9,8,7,6,5,4]}),
pd.DataFrame({'C':[100,200,300,400]}),
]
Run Code Online (Sandbox Code Playgroud)
我有一个丑陋的黑客解决方案:复制每个数据框并给它一个新的列名:
newList = []
for r in res:
r.columns = ["same"]
newList.append(r)
pd.concat( newList, ignore_index=True )
Run Code Online (Sandbox Code Playgroud)
当然这不是最好的方法吗?
顺便说一句,熊猫:不同列名的concat数据框是相似的,但我的问题更简单,因为我不想保持索引.(我还从N个单列数据帧的列表开始,而不是单个N列数据帧.)
*:例如axis=0,默认行为.axis=1给出错误.join="inner"只是愚蠢(我只得到索引).ignore_index=True重新编号索引,但我得到了很多列,很多NaN.
更新空列表
当数据有一个空列表时,我遇到了问题(使用所有给定的解决方案),例如:
res = [
pd.DataFrame({'A':[1,2,3]}),
pd.DataFrame({'B':[9,8,7,6,5,4]}),
pd.DataFrame({'C':[]}),
pd.DataFrame({'D':[100,200,300,400]}),
]
Run Code Online (Sandbox Code Playgroud)
诀窍是通过添加强制类型.astype('float64').例如
pd.Series(np.concatenate([df.values.ravel().astype('float64') for df in res]))
Run Code Online (Sandbox Code Playgroud)
要么:
pd.concat(res,axis=0).astype('float64').stack().reset_index(drop=True)
Run Code Online (Sandbox Code Playgroud) 我一直在玩响应式布局和表单.到目前为止,我对我所拥有的东西感到非常满意:它从手机到宽屏都能很好地工作; 见下文.(目前仅在firefox/chrome上测试过.)
在800px宽度处,它将消息块移动到右列.问题是这是用float:right和position:absolute来完成的,这意味着它的高度会停止影响周围的div.所以消息框突出.
我可以(并且做)通过添加高度:220px来改善这一点,所以默认情况下看起来没问题.但有人仍然可以调整周围div之外的textarea.我发现将textareas调整为一个很棒的功能,所以不要禁止调整大小.而溢出:auto不是解决方案:用户只需在textarea上交换滚动条就div上的滚动条!
那么,有没有办法让外部div调整大小以始终包含textarea?
<html>
<head>
<style>
body{background:#fff;font-family:FreeSerif, serif;font-size:16px;margin: 0 0 0 0;}
#contactform {margin: 0 auto;width:90%;max-width:320px;border:1px #000 solid;border-radius:8px;padding:6px;}
#contactform .required:after{color:red;content:" *";}
#contactform label {display:block;}
#contactform textarea {height:120px;rows:5;min-width:90%;max-width:90%;}
#contactform input,textarea {border: 1px solid red;border-radius:8px;width:90%;height:26px;padding:2px 4px;font-family:sans;}
@media (min-width: 800px) {
#contactform {margin: 0 auto;width:640px;max-width:640px;position:relative;/*height:220px;*/}
#formsecondhalf {top:0;right:6px;position:absolute;}
#contactform textarea {height:200px;rows:8;min-height:200px;min-width:300px;max-width:300px;}
#contactform input,textarea {width: 300px;min-width:300px;max-width:300px;}
}
</style>
</head>
<body>
<div id="contactform">
<form action="" method="post">
<label for="name" class="required">Name:</label>
<input id="name">
<br/>
<label for="email" class="required">Email:</label>
<input id="email">
<br/>
<div id="formsecondhalf">
<label for="message">Message:</label>
<textarea id="message"></textarea> …Run Code Online (Sandbox Code Playgroud) 将C++ 11代码连接到一些C回调,我必须传递const char * const *,即一个字符串数组.这是我的代码的简化版本:
int main(int,char**){
const int cnt = 10;
const char * const * names =
static_cast<const char * const *>(malloc( sizeof(char*) * cnt));
//... allocating names[0], etc. coming soon ...
the_c_function(names);
free(names);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
所以我研究了如何malloc在C++中使用,但我坚持free,因为它告诉我:"从'const void*'无效转换为'void*'[-fpermissive]"
我的第一反应是"呃?你为什么关心,所有你需要做的就是释放指针." 第二反应是把它扔掉.但这会被编译器拒绝:
free( const_cast<void*>(names) );
Run Code Online (Sandbox Code Playgroud)
这也是如此:
free( static_cast<void*>(acctnames) );
Run Code Online (Sandbox Code Playgroud)
例如"从类型'const char*const*'中的static static_cast'到'void*'类型".
什么做的工作是一个很好的"OLEÇ投:
free( (void*)(acctnames) );
Run Code Online (Sandbox Code Playgroud)
那是安全的,还是我在这里遗漏了什么?(valgrind告诉我"所有堆块都被释放 - 没有泄漏可能",这是一种安慰!)
PS在Linux上使用g ++ 4.8.1.
更新:解释为什么free()想要一个非常量指针在这里:无法释放C中的常量指针
(虽然我发现barak …
我想绘制一条多色的线,颜色基于一个因子中的相应值.例如,每日股票收盘价的时间序列,其上涨超过一定数量的天数为蓝色,其中已经完成的天数为红色,其他日期为红色.无聊的黑色.
我的数据在一个xts对象中(其中包含因子as.numeric(myfactor)),我想使用quantmod chartSeries或chart_Series函数.但如果这是不可能的,那么使用的东西plot就足够了.
一些样本数据:
library(xts)
x = xts( data.frame( v=(rnorm(50)+10)*10, type=floor(runif(50)*4) ),
order.by=as.Date("2001-01-01")+1:50)
Run Code Online (Sandbox Code Playgroud)
我可以像这样绘制它:
library(quantmod)
chartSeries(x$v)
addTA(x$type, type='p')
Run Code Online (Sandbox Code Playgroud)
即如果使用彩色线段,我觉得将底部图表中的信息与顶部图表相匹配会更容易.
给出了各种一行xts对象:
z1 = xts(t(c("9902"=0,"9903"=0,"9904"=0,"9905"=2,"9906"=2)),as.Date("2015-01-01"))
z2 = xts(t(c("9902"=3,"9903"=4,"9905"=6,"9906"=5,"9908"=8)),as.Date("2015-01-02"))
z3 = xts(t(c("9901"=1,"9903"=3,"9905"=5,"9906"=6,"9907"=7,"9909"=9)),as.Date("2015-01-03"))
Run Code Online (Sandbox Code Playgroud)
我想将它们合并到一个xts对象中.但是cbind(z1,z2,z3)给出:
X9902 X9903 X9904 X9905 X9906 X9902.1 X9903.1 X9905.1 X9906.1 X9908 X9901 X9903.2 X9905.2 X9906.2 X9907 X9909
2015-01-01 0 0 0 2 2 NA NA NA NA NA NA NA NA NA NA NA
2015-01-02 NA NA NA NA NA 3 4 6 5 8 NA NA NA NA NA NA
2015-01-03 NA NA NA NA NA NA NA NA NA NA 1 3 5 6 7 9 …Run Code Online (Sandbox Code Playgroud) 我开始在Markdown中使用内联脚注:
Some text^[an aside here]. More text.
Run Code Online (Sandbox Code Playgroud)
当我使用pandoc导出到HTML时,它们出现在整个文档的末尾,但在PDF中它们出现在页面的末尾.我更喜欢它们在页面的末尾,我想知道是否有办法在HTML中以这种方式获取它们?
我意识到页面末尾会因HTML而变得复杂; 对于我来说,结尾部分也会起作用.实际上,将它们放在PDF的部分末尾而不是页面的末尾也可能有用.(我已尝试将其---作为分节符,但脚注仍然在文档末尾.)
(我也试过制作pdf,然后pdf2html,哪种工作但是真的很难看.Pandoc似乎不支持pdf到html,我得到"无法解码字节'\ xd0'......")
(这不是重复:在Pandoc Markdown输出中生成内联而不是列表样式的脚注? 这个问题是关于从另一种格式转换为 markdown格式时脚注的处理方式.)
默认情况下,提前停止处于启用状态h2o.deeplearning()。但是,从 R 中,我如何知道它是否确实提前停止了,以及它停止了多少个纪元?我试过这个:
model = h2o.deeplearning(...)
print(model)
它告诉我有关层、MSE、R2 等的信息,但没有告诉我运行了多少个 epoch。
在 Flow 上,我可以看到信息(例如,“评分历史 - 偏差”图表或评分历史表中 x 轴停止的位置)。
错误信息:
重大更改:webpack < 5 默认情况下包含 Node.js 核心模块的 Polyfill。这已不再是这种情况。验证您是否需要此模块并为其配置一个polyfill。
所以我在谷歌上搜索这个问题并找到了很多解决方案。所以我想和大家分享一下:
首先,这种情况不仅可能发生在加密货币领域,也可能发生在 http、https、操作系统等其他领域。
检查数据包是否安装(本例已安装 crypto-browserify) 应该有一个文件夹 node_modules\crypto-browserify
如果不存在:npm install crypto browsrify,则yarn add @types/node@15.12.5 -D(对于此节点版本)
在node_modules\crypto-browserify中编辑package.json并添加
,
"optionalDependencies": {},
"browser": {
"crypto": false
},
Run Code Online (Sandbox Code Playgroud)
(在 devDependency 之后)
"compilerOptions": {
"paths":{
"crypto":["node_modules/crypto-browserify"],
"http":["node_modules/stream-http"],
"https":["node_modules/https-browserify"]
},
Run Code Online (Sandbox Code Playgroud)
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"allowedCommonJsDependencies": ["crypto"],
"allowedCommonJsDependencies": ["http"],
"allowedCommonJsDependencies": ["https"],
Run Code Online (Sandbox Code Playgroud)