大多数IPython的"神奇功能"的工作对我罚款马上蝙蝠: %hist,%time,%prun等.然而,我注意到,%lprun无法IPython中找到,因为我想最初安装它.
然后我发现我应该安装line_profiler模块.我已经安装了这个模块,但似乎仍然无法使魔术功能正常工作.如果我试图打电话%lprun,iPython仍然无法找到该功能.如果我用全名(line_profiler.magic_lprun)调用它,可以找到该函数,但我根本无法使用它.下面是我所做的一个例子(从"Python for Data Analysis"一书中逐步采用):
%prun[在:]
def add_and_sum(x, y):
added = x + y
summed = added.sum(axis=1)
return summed
x = randn(3000, 3000)
y = randn(3000, 3000)
add_and_sum(x, y)
Run Code Online (Sandbox Code Playgroud)
有了这个,我得到了一个很好的答案,正如所料:
[输出:]
array([-23.6223074 , -10.08590736, -31.2957222 , ..., -14.17271747,
63.84057725, -50.28469621])
Run Code Online (Sandbox Code Playgroud)
我可以做剖析魔术功能%prun:
[在:]
%prun add_and_sum(x, y)
Run Code Online (Sandbox Code Playgroud)
[输出:]
6 function calls in 0.042 seconds
Ordered by: internal time
ncalls tottime percall cumtime …Run Code Online (Sandbox Code Playgroud) 就在几周前,我在创建RMarkdown文件时能够在RStudio中成功完成以下操作.
Rmarkdown文件(顶部YAML部分):
output:
ioslides_presentation:
css: ../css/slide_style.css
logo: ../css/logos/approved.Logos.016.jpg
self_contained: yes
Run Code Online (Sandbox Code Playgroud)
然后,这将获取css文件slide_style.css,其中包含以下内容:
/* Below is the code to drop in a nice image for the background OUTSIDE of the slides. */
/* line 58, ../scss/default.scss */
/* line 236 of ../theme/../default.css */
body {
background-image: url('../css/backgrounds/outside_slides.png');
}
/* Below is the code to drop in a nice image for the slide backgrounds, or "backdrop". */
/* line 170, ../scss/default.scss */
/* line 320 of ../theme/../default.css */ …Run Code Online (Sandbox Code Playgroud) 我相对较新的数据库,执行SQL查询等.目前我专门为我的数据库使用MS SQL Server(这是我们在工作中使用的),但希望我的问题的答案可以更广泛而不仅仅是为了特别的DB.
我使用数据库接口应用程序本身(在本例中为SQL Server Management Studio)做了很多工作,但我也通过python脚本做了一些工作,其中一些作为cron作业运行,其中一些是像这样的网站用户可以向DB提交查询.
我一直在使用pymssql模块从python查询和写入数据库.但是我遇到了一些恼人的问题.(看来pymssql不能使用临时表,而且我也遇到了"自动提交"的麻烦,但这可能是我自己的错.)
所以对大部分内容一无所知,我只想了解一下我应该走的方向.据我所知,我可以:
事实是,我没有完全得到ODBC的作用.它似乎是某种"认证中介",有点像中间人,以确保用户是他/她说的人.而且我对ADO的了解甚少.
虽然pymssql似乎是最简单的方法,但它似乎也是人们认为不那么高的,并且它最终会被弃用.我宁愿学习"正确"的方式,因为我刚刚开始使用这些东西.
所以我正在寻找一些知识渊博的观点,让我们了解如何让python与MS SQL Server交谈,以及与DB进行通信.我会将"最佳"定义为最适合那些会用它做适度复杂事情的人.(虽然我刚刚开始,但我最终还是要提升一点.)
谢谢!麦克风
如何将HTML文件到位的R降价文件中?
我通过choroplethr创建了一些不错的动画等值线图.
如链接所示,动画等值线通过创建一组PNG图像来起作用,然后将其转换为循环显示图像的HTML文件,以显示动画.效果很好,看起来很棒.
但现在我想在.Rmd文件中嵌入/合并这些页面,以便我有一个包含这些动画等值的整体报告以及其他工作.
在我看来应该有一个简单的方法来做一个相当于
链接:
[please click here](http://this.is.where.you.will.go.html)
Run Code Online (Sandbox Code Playgroud)
要么
图片:

Run Code Online (Sandbox Code Playgroud)
图像路径正是我想要的:一个"炸毁"以将信息放在适当位置的引用,而不仅仅是作为链接.如何使用完整的HTML文件而不仅仅是图像?有什么办法吗?
假设我的choropleth HTML文件位于我的本地路径中'./animations/demographics.html',我有一个R Markdown文件,如:
---
title: 'Looking at the demographics issue'
author: "Mike"
date: "April 9th, 2016"
output:
html_document:
number_sections: no
toc: yes
toc_depth: 2
fontsize: 12pt
---
# Introduction
Here is some interesting stuff that I want to talk about. But first, let's review those earlier demographic maps we'd seen.
!
Run Code Online (Sandbox Code Playgroud)
我假设/假装!!的前提是我想做的事情:允许我将HTML文件嵌入到报告的其余部分.
就在今天,我第一次遇到Git的以下评论(至少第一次看到它):
Mikes-Mac$ git push
Locking support detected on remote "origin". Consider enabling it with:
$ git config 'lfs.https://github.com/<my_repo>.git/info/lfs.locksverify' true
Everything up-to-date
Mikes-Mac$
Run Code Online (Sandbox Code Playgroud)
这是什么Locking support?这是LFS(大文件存储)的某种互斥锁定吗?如果是这样,在git上工作是不是绝对必要?(最低限度,如何建立日志历史记录的"排序"?更糟糕的是,我不能通过同时写入来破坏二进制文件吗?)
我最近没有对这个存储库做任何不同的事情,与我用LFS建立的任何其他存储库相比,我也没有做过任何不同的事情.
因此,我假设这是向"世界"提供的新评论,让我们了解新功能.
但是,无论是谷歌搜索还是通过他们的文档快速搜索,我都无法解释这一点.所以,我想知道:
TL; DR:
我可以在原始 randomForest 调用中 标记一些内容,以避免重新运行predict 函数以获得预测的分类概率,而不仅仅是可能的类别吗?
细节:
我正在使用randomForest包.
我有一个类似的模型:
model <- randomForest(x=out.data[train.rows, feature.cols],
y=out.data[train.rows, response.col],
xtest=out.data[test.rows, feature.cols],
ytest=out.data[test.rows, response.col],
importance= TRUE)
Run Code Online (Sandbox Code Playgroud)
out.data数据框在哪里,具有feature.cols数字和分类特征的混合,response.col而是一个TRUE/ FALSE二进制变量,我被强制插入,factor以便randomForest模型将其正确地视为分类.
一切运行良好,变量model正确返回给我.但是,我似乎无法找到传递给randomForest函数的标志或参数,因此model返回给我的概率为TRUE或FALSE.相反,我得到的只是预测值.也就是说,如果我看一下model$predicted,我会看到类似的东西:
FALSE
FALSE
TRUE
TRUE
FALSE
.
.
.
Run Code Online (Sandbox Code Playgroud)
相反,我希望看到类似的东西:
FALSE TRUE
1 0.84 0.16
2 0.66 0.34
3 0.11 0.89
4 0.17 0.83
5 0.92 …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现一个需要非常快的功能,主要是因为它一次又一次地处理大量数据帧.
R总是让我迷惑为什么它有时候有点慢,以及为什么它在其他时候可笑得很慢.(不幸的是,从来没有快.)
无论如何,我总是假设,在可能的情况下,当以某种方式推入应用程序,sapply或lapply时,事情可以运行得更快,而不是放入循环中.我最近遇到了一个例子,让我觉得还有更多的内容,如果我理解它,可能会对未来的优化有很大的帮助.
以下是我在相对强大的Ubuntu Linux机器上运行的一些计算:
system.time(sapply(1:1e5, sum))
user system elapsed
35.130 0.000 35.128
system.time(sapply(1:1e5, cumsum))
user system elapsed
0.110 0.000 0.108
Run Code Online (Sandbox Code Playgroud)
是的,你正在正确读取这些数字:cumsum,它创建一个累积和的数组,比仅提供简单的总和快几个数量级.(如果其他人可以在他们的机器上验证这些结果,那就太棒了!)
我不明白这是怎么可能的,除非实现有很大不同.假设它们确实有很大差异,我想知道以什么样的方式,以便在寻找速度时我可以寻找某些功能来避免.(对于核心功能,我不知道如何查看它们的来源.只是键入函数名称而没有任何括号的标准方法对核心函数不起作用.)
非常感谢!
这似乎很容易,之前可能会被问过,但我无法通过搜索找到它.
我安装了几种口味R.我只是想知道,当我运行RStudio时,R它指向的是哪种味道.所以,我需要一个命令 - 理想情况下在RStudio本身 - 可以告诉我R正在使用的这个RStudio窗口的底层可执行文件.
为了清楚起见,我不需要/想要知道我正在使用的R 的版本(例如R version 3.2.2 (2015-08-14) -- 'Fire Safety').相反,我想知道RStudio用来到R的实际路径 - 从RStudio中查看它 - 所以我知道"for reals"它正在使用哪个版本.(例如,/usr/local/bin/R.)
这里有很多很棒的讨论,有些是特定于操作系统的.我有一台Mac.就我而言,我发现:
> system("type R")
R is /usr/local/bin/R
> R.home()
[1] "/usr/local/Cellar/r/3.2.2_1/R.framework/Resources"
> file.path(R.home("bin"), "R")
[1] "/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/bin/R"
Run Code Online (Sandbox Code Playgroud)
正如你所熟悉的那些,我正在使用brew.如果我/usr/local/bin/R在R外寻找,我看到:
$ ls -l /usr/local/bin/R
lrwxr-xr-x 1 mike admin 25 Nov 14 17:31 /usr/local/bin/R -> ../Cellar/r/3.2.2_1/bin/R
Run Code Online (Sandbox Code Playgroud)
最终解决(2个符号链接):
/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/bin/R
Run Code Online (Sandbox Code Playgroud)
作为最终目的地.
所以在我的系统(Mac OS X)上,file.path(R.home("bin"), "R")是最准确的.
尽管在SO上有很多建议,在Git和GitHub的文档上,以及我遇到过的一些Gists,我仍然在尝试使用git LFS时遇到了麻烦.
我的问题如下:
执行必要的步骤后:
git lfs install
git lfs track "<file of interest>"
git commit
Run Code Online (Sandbox Code Playgroud)
我仍然没有跟踪任何文件.如果我表演了
git lfs ls-files
Run Code Online (Sandbox Code Playgroud)
它会是空白的.如果我继续执行推送,事务将失败,说文件太大.(正如所料,但我很绝望.)
我正在学习Pydantic模块,尝试通过玩具FastAPI Web 后端作为示例实现来采用其功能/优点。
我选择使用PydanticSecretStr来“隐藏”密码。我知道它并不真正安全,而且我还在passlib数据库存储中使用适当的密码加密(并使用 HTTPS 来保证传输中的安全)。
但这让我思考:如果没有真正的安全性SecretStr,它的目的是什么?
我的意思并不是要让这听起来煽动性。Pydantic 并不声称秘密类型是安全的。他们提供的唯一主张是:
您可以使用
SecretStr和SecretBytes数据类型来存储您不希望在日志记录或回溯中可见的敏感信息。
但我不明白这一点:如何SecretStr帮助隐藏日志记录或回溯?我不能确保根本不记录密码吗?
有人可以提供一个解释+示例来帮助我更好地理解它何时以及如何有用吗?我正在努力寻找它的真正目的......如果没有好处,那么最好只使用 anstr作为模型/模式而不是SecretStr.