小编ran*_*rst的帖子

list comprehension替换2D矩阵中的循环

我尝试使用list comprehension来替换for循环.

原始文件是

2 3 4 5 6 3
1 2 2 4 5 5
1 2 2 2 2 4
Run Code Online (Sandbox Code Playgroud)

for循环

line_number = 0
for line in file:
    line_data = line.split()
    Cordi[line_number, :5] = line_data 
    line_number += 1
Run Code Online (Sandbox Code Playgroud)

输出是

[[2 3 4 5 6 3]
 [1 2 2 4 5 5]
 [1 2 2 2 2 4]]
Run Code Online (Sandbox Code Playgroud)

如果使用列表理解,我可以想到的是(我必须将数据类型更改为int,因此可以在程序的后续部分中绘制)

Cordi1= [int(x) for x in line.split() for line in data]
Run Code Online (Sandbox Code Playgroud)

但输出是

[1, 1, 1]
Run Code Online (Sandbox Code Playgroud)

line.split() for line in data实际上是一个列表,如果我尝试 …

python int list-comprehension output

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

如何在matplotlib中向imshow()添加图例

我在用 matplotlib

plot()或者bar(),我们可以很容易地把传说,如果标签添加到他们.但是,如果它是一个contourf()imshow()

我知道有一个colorbar()可以呈现颜色范围,但不满意.我想要一个有名字(标签)的传奇.

在此输入图像描述

我可以想到的是,为矩阵中的每个元素添加标签,然后尝试使用legend(),看看它是否有效,但是如何向元素添加标签,如值?

就我而言,原始数据如下:

1,2,3,3,4
2,3,4,4,5
1,1,1,2,2
Run Code Online (Sandbox Code Playgroud)

例如,1代表'grass',2代表'sand',3代表'hill'......等等.imshow()与我的案例完美配合,但没有传说.

我的问题是:

  1. 是否有一个可以自动添加图例的功能,例如,在我的情况下,我只需这样做:someFunction('grass','sand',...)

  2. 如果没有,我如何为矩阵中的每个值添加标签.例如,在矩阵'grass'中标记所有1,在矩阵'sand'中标记所有2 ...依此类推.

谢谢!

编辑:

感谢@dnalow,它真的很聪明.但是,我仍然想知道是否有任何正式的解决方案.

python label matplotlib legend imshow

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

如何在闪亮中方便地添加多个换行符?

我想在我闪亮的应用程序中放置多个换行符。代替

br(),
br(),
br(),
...
Run Code Online (Sandbox Code Playgroud)

有没有更方便的方法?谢谢。

html r line-breaks shiny

6
推荐指数
1
解决办法
3713
查看次数

如何生成像cor()的线性回归矩阵

我有一个如下数据框:

  a1 a2 a3 a4
1  3  3  5  5
2  4  3  5  5
3  5  4  6  5
4  6  5  7  3
Run Code Online (Sandbox Code Playgroud)

我想对数据帧中的每两列进行线性回归,并设置intercept为0.

换句话说,我想得到系数 lm(a1~a2+0), lm(a1~a3+0), lm(a1~a4+0), lm(a2~a1+0), lm(a2~a3+0)...

cor(),如果我输入一个数据帧,我将得到一个矩阵,例如下面,

          a1        a2        a3        a4
a1 1.0000000 0.9467293 0.8944272 0.2045983
a2 0.9467293 1.0000000 0.9622504 0.4989222
a3 0.8944272 0.9622504 1.0000000 0.4574957
a4 0.2045983 0.4989222 0.4574957 1.0000000
Run Code Online (Sandbox Code Playgroud)

lm()有没有办法让同一种基质的?

谢谢.

r linear-regression dataframe

5
推荐指数
1
解决办法
92
查看次数

使用R进行网页抓取时如何处理验证码

我试图从这个网站上抓取数据,使用httrrvest。经过多次抓取(大约 90 - 100 次),该网站会自动将我转移到另一个带有验证码的网址。

这是正常的网址: "https://fs.lianjia.com/ershoufang/pg1"

这是验证码网址: "http://captcha.lianjia.com/?redirect=http%3A%2F%2Ffs.lianjia.com%2Fershoufang%2Fpg1"

当我的蜘蛛遇到验证码网址时,它会告诉我停止并在浏览器中解决它。然后我在浏览器中手动解决它。但是当我运行蜘蛛并发送GET请求时,蜘蛛仍然被转移到验证码网址。同时在浏览器中,一切正常,即使我输入验证码网址,它也会将我转回浏览器中的正常网址。

即使我使用代理,我仍然遇到同样的问题。在浏览器中,我可以正常浏览网站,而蜘蛛一直在转移到验证码网址。

我想知道,

  1. 我使用代理的方式正确吗?
  2. 为什么蜘蛛不断被传输而浏览器没有。他们来自同一个IP。

谢谢。

这是我的代码:

a <- GET(url, use_proxy(proxy, port), timeout(10),
          add_headers('User-Agent' = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36',
                      'Connection' = 'keep-alive',
                      'Accept-Language' = 'en-GB,en;q=0.8,zh-CN;q=0.6,zh;q=0.4,en-US;q=0.2,fr;q=0.2,zh-TW;q=0.2',
                      'Accept-Encoding' = 'gzip, deflate, br',
                      'Host' = 'ajax.api.lianjia.com',
                      'Accept' = '*/*',
                      'Accept-Charset' = 'GBK,utf-8;q=0.7,*;q=0.3',
                      'Cache-Control' = 'max-age=0'))
b <- a %>% read_html %>% html_nodes('div.leftContent') %>% html_nodes('div.info.clear') %>% 
            html_nodes('div.title') %>% html_text() …
Run Code Online (Sandbox Code Playgroud)

captcha r web-crawler web-scraping httr

5
推荐指数
1
解决办法
3271
查看次数

删除闪亮应用程序标题中的 div

我正在使用shinydashboard,并且我想使用以下代码在标题中放置图像:

header <- dashboardHeader(
  title = div(img(src = 'logo.png',
                  height = 60,
                  width = 120))
)
Run Code Online (Sandbox Code Playgroud)

一切都很顺利,但是当我通过 chrome 打开应用程序时,在浏览器的标签中,它看起来很奇怪,如下所示。

在此输入图像描述

有什么办法可以阻止它显示在浏览器上并显示一些正常文本吗?

<div> <img src="logo.png" height="60" width="120"/>
Run Code Online (Sandbox Code Playgroud)

html r header shiny shinydashboard

5
推荐指数
1
解决办法
1106
查看次数