小编Mik*_*son的帖子

交互式Python:虽然正确导入了line_profiler,但无法使`%lprun`正常工作

问题

大多数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)

python profiling magic-function ipython spyder

34
推荐指数
2
解决办法
2万
查看次数

RMarkdown IO幻灯片演示文稿不再支持css文件中的背景图像

创建具有图像背景的幻灯片 - 代码

就在几周前,我在创建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)

markdown r

25
推荐指数
1
解决办法
1673
查看次数

pymssql与pyodbc对比adodbapi与...

我相对较新的数据库,执行SQL查询等.目前我专门为我的数据库使用MS SQL Server(这是我们在工作中使用的),但希望我的问题的答案可以更广泛而不仅仅是为了特别的DB.

我使用数据库接口应用程序本身(在本例中为SQL Server Management Studio)做了很多工作,但我也通过python脚本做了一些工作,其中一些作为cron作业运行,其中一些是像这样的网站用户可以向DB提交查询.

我一直在使用pymssql模块从python查询和写入数据库.但是我遇到了一些恼人的问题.(看来pymssql不能使用临时表,而且我也遇到了"自动提交"的麻烦,但这可能是我自己的错.)

所以对大部分内容一无所知,我只想了解一下我应该走的方向.据我所知,我可以:

  • 使用pymssql,它直接与MS SQL服务器对话
  • 使用pyodbc,需要先安装FreeTDS和unixODBC,然后进行设置
  • 使用adodbapi模块,我不确定这里需要什么要求.
  • 另一种方法??

事实是,我没有完全得到ODBC的作用.它似乎是某种"认证中介",有点像中间人,以确保用户是他/她说的人.而且我对ADO的了解甚少.

虽然pymssql似乎是最简单的方法,但它似乎也是人们认为不那么高的,并且它最终会被弃用.我宁愿学习"正确"的方式,因为我刚刚开始使用这些东西.

所以我正在寻找一些知识渊博的观点,让我们了解如何让python与MS SQL Server交谈,以及与DB进行通信.我会将"最佳"定义为最适合那些会用它做适度复杂事情的人.(虽然我刚刚开始,但我最终还是要提升一点.)

谢谢!麦克风

python sql-server

24
推荐指数
2
解决办法
1万
查看次数

在R Markdown文件中包含HTML文件?

快速摘要

如何将HTML文件到位的R降价文件中?

细节

我通过choroplethr创建了一些不错的动画等值线图.

如链接所示,动画等值线通过创建一组PNG图像来起作用,然后将其转换为循环显示图像的HTML文件,以显示动画.效果很好,看起来很棒.

但现在我想在.Rmd文件中嵌入/合并这些页面,以便我有一个包含这些动画等值的整体报告以及其他工作.

在我看来应该有一个简单的方法来做一个相当于

链接:

[please click here](http://this.is.where.you.will.go.html)
Run Code Online (Sandbox Code Playgroud)

要么

图片:

![cute cat image](http://because.that.is.what.we.need...another.cat.image.html)
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.

!![demographics map]('./animations/demographics.html')
Run Code Online (Sandbox Code Playgroud)

我假设/假装!!的前提是我想做的事情:允许我将HTML文件嵌入到报告的其余部分.

更新 …

html markdown r r-markdown

21
推荐指数
1
解决办法
2万
查看次数

Git(LFS):什么是锁定支持?我应该启用吗?

"新"Git评论:

就在今天,我第一次遇到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建立的任何其他存储库相比,我也没有做过任何不同的事情.

因此,我假设这是向"世界"提供的新评论,让我们了解新功能.

没有明显的文档

但是,无论是谷歌搜索还是通过他们的文档快速搜索,我都无法解释这一点.所以,我想知道:

  • 什么是锁定?
    • 是互斥吗?如果是这样,我的回购怎么能在没有它的情况下运作?
    • 这只限于LFS吗?它与普通的git文件锁定有什么不同?
  • 为LFS添加锁定支持的优缺点是什么?

git git-lfs

21
推荐指数
2
解决办法
1万
查看次数

在R中使用randomForest包,如何从分类模型中获取概率?

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返回给我的概率TRUEFALSE.相反,我得到的只是预测值.也就是说,如果我看一下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 machine-learning predict random-forest

19
推荐指数
1
解决办法
3万
查看次数

在R中,为什么总和如此慢,如cumsum?

我正在尝试实现一个需要非常快的功能,主要是因为它一次又一次地处理大量数据帧.

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,它创建一个累积和的数组,比仅提供简单的总和快几个数量级.(如果其他人可以在他们的机器上验证这些结果,那就太棒了!)

我不明白这是怎么可能的,除非实现有很大不同.假设它们确实有很大差异,我想知道以什么样的方式,以便在寻找速度时我可以寻找某些功能来避免.(对于核心功能,我不知道如何查看它们的来源.只是键入函数名称而没有任何括号的标准方法对核心函数不起作用.)

非常感谢!

performance r

15
推荐指数
2
解决办法
1677
查看次数

用于查看RStudio正在使用的"R"路径的命令

原始问题

这似乎很容易,之前可能会被问过,但我无法通过搜索找到它.


我安装了几种口味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")是最准确的.

linux r path exec

14
推荐指数
1
解决办法
1万
查看次数

Git LFS拒绝正确跟踪我的大文件,直到我做了以下操作

问题

尽管在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)

它会是空白的.如果我继续执行推送,事务将失败,说文件太大.(正如所料,但我很绝望.)

git github git-lfs

12
推荐指数
3
解决办法
9251
查看次数

Pydantic 的 SecretStr 的目的是什么?

我正在学习Pydantic模块,尝试通过玩具FastAPI Web 后端作为示例实现来采用其功能/优点。

我选择使用PydanticSecretStr来“隐藏”密码。我知道它并不真正安全,而且我还在passlib数据库存储中使用适当的密码加密(并使用 HTTPS 来保证传输中的安全)。

但这让我思考:如果没有真正的安全性SecretStr,它的目的是什么?

我的意思并不是要让这听起来煽动性。Pydantic 并不声称秘密类型是安全的。他们提供的唯一主张是:

您可以使用SecretStrSecretBytes数据类型来存储您不希望在日志记录或回溯中可见的敏感信息。

但我不明白这一点:如何SecretStr帮助隐藏日志记录或回溯?我不能确保根本不记录密码吗?


有人可以提供一个解释+示例来帮助我更好地理解它何时以及如何有用吗?我正在努力寻找它的真正目的......如果没有好处,那么最好只使用 anstr作为模型/模式而不是SecretStr.

python pydantic

12
推荐指数
1
解决办法
1万
查看次数