小编Bat*_*son的帖子

如何在复制/粘贴后禁用Excel的自动单元格引用更改?

我有一个庞大的Excel 2003电子表格,我正在努力.有很多非常大的公式,有很多细胞参考.这是一个简单的例子.

='Sheet'!AC69+'Sheet'!AC52+'Sheet'!AC53)*$D$3+'Sheet'!AC49
Run Code Online (Sandbox Code Playgroud)

他们中的大多数都比这更复杂,但这可以很好地了解我正在使用的内容.这些细胞参考中很少是绝对的($ s).我希望能够将这些单元格复制到不同的位置,而不会更改单元格引用.我知道我可以简单地使用f4来使引用绝对,但是有很多数据我可能需要稍后使用Fill.有没有办法暂时禁用复制粘贴/填充更改单元格引用而不使引用绝对?

编辑:我刚刚发现你可以通过将单元格内容复制为文本而不是公式来对VBA执行此操作.我不想这样做,因为我想一次复制整行/列.我缺少一个简单的解决方案吗?

excel reference copy-paste cell excel-formula

42
推荐指数
3
解决办法
13万
查看次数

数据库:选择最后的非空条目

这是一个我一直绞尽脑汁的问题.假设我有一个表,其中包含一系列时间戳和一个部件号作为主键.该表存储增量更改,这意味着对于每个时间戳,如果字段更改,则记录该更改.如果该字段未更改,则对于新时间戳,它为NULL.这是基本的想法.

 part | timestamp | x-pos | y-pos | status
------+-----------+-------+-------+--------
 a5   |       151 |     5 |    15 |      g
 a5   |       153 |  NULL |    17 |   NULL
Run Code Online (Sandbox Code Playgroud)

(part, timestamp)是主键.NULL第二条记录中的s表示自第一条记录以来未改变的值.

我希望能够做的是为部件分组的每个字段选择最新值.例如,给定上述条目,对于a5部分,结果将为153,5,17,g.

截至目前,我已将此黑客一起查询.

    ((SELECT x-pos FROM part_changes WHERE x-pos IS NOT NULL
    ORDER BY timestamp DESC
    LIMIT 1)

    UNION

    (SELECT y-pos FROM part_changesWHERE y-pos IS NOT NULL
    ORDER BY timestamp DESC
    LIMIT 1)

    UNION

    (SELECT status FROM part_changes WHERE status IS NOT NULL
    ORDER BY timestamp DESC …
Run Code Online (Sandbox Code Playgroud)

sql database postgresql null select

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

将R Shiny页面导出为PDF

我有一个大的Shiny应用程序,它有许多提示,然后根据这些输入生成表格和绘图.我不使用rmarkdown或knitr或任何东西来格式化输出.我只使用标准的Shiny元素(sidebarPanel,mainPanel等).对于图和表,我使用标准的反应式renderPlot和renderTable对象.我正在寻找一种简单的方法来获得一个名为"导出为PDF"的按钮,该按钮将页面上的元素导出为PDF文档.

我已经研究过使用knitr和rmarkdown生成一个带有一些花哨格式的文档(参见这里这里的例子).问题是我似乎需要在一个downloadHandler对象中的Rmd文件或server.R中重新生成表和图,我想避免这种情况.

有没有办法更容易地将页面输出为pdf.更具体地说,有没有办法直接引用Rmd文件中的输出表和图(即输出$对象),这样就不需要生成两次图和表.

编辑:这是一些简化的代码.注意getDataset()是一个响应函数,它根据输入查询数据库.我的目标是简单地添加一个"导出"按钮,用于导出已生成的图和表.(另外作为旁注,有什么方法可以获得在所有被动元素之间共享的被动数据集?即不需要在每个对象中都有ds < - getDataset()?)

服务器

output$hist <- renderPlot({
  ds <- getDataset()
  # do data transformations

  ggplot(ds, aes(val)) +
    geom_histogram(binwidth = binSize, aes(fill = ..count..)) +
    labs(title = "val dist", x = "val", y = "Count") + 
    scale_fill_gradient("Count", low = "green", high = "red", guide = FALSE) +
    scale_x_continuous(limits = c(min(ds$val), quantile(ds$val, 0.99))) +
    geom_hline(yintercept=maxY, linetype=3)
})

output$time <- renderPlot({
  ds <- getDataset()
  # do data transformations
  ggplot(ds, aes(as.POSIXlt(unixTime, origin="1970-01-01", tz="UTC"), val), colour = …
Run Code Online (Sandbox Code Playgroud)

r knitr r-markdown shiny

11
推荐指数
1
解决办法
6390
查看次数

如何加速Python Basemap等值区动画

各种 来源获取想法,并结合我自己的想法,我试图创建一个动画地图,根据我的数据中的某些值显示国家的阴影.

基本过程是这样的:

  1. 运行数据库查询以获取数据集,按国家/地区和时间键入
  2. 使用pandas做一些数据操作(总和,平均等)
  3. 初始化底图对象,然后加载Load external shapefile
  4. 使用动画库为国家/地区着色,为数据集中的每个不同"时间"设置一帧.
  5. 保存为gif或mp4或其他

这很好用.问题是它非常慢.我有可能超过100k的时间间隔(超过几个指标)我想要制作动画,并且我得到每帧的平均时间为15秒,并且当帧数越多时,它就越糟糕.按照这个速度,我的计算机上的cpu和内存可能需要数周才能生成单个动画.

我知道matplotlib的速度并不快(例如:12)但是我读到了人们以5 + fps的速度生成动画并且想知道我做错了什么的故事.

我做过的一些优化:

  1. 仅重新着色动画功能中的国家/地区.这平均每帧约3秒,因此虽然可以改进,但它并不需要花费最多的时间.
  2. 我使用blit选项.
  3. 我尝试使用较小的绘图尺寸和不太详细的底图,但结果是微不足道的.

也许一个不太详细的shapefile会加快形状的着色,但正如我之前所说,每帧只有3s的改进.

这是代码(减去几个可识别的功能)

import pandas as pd
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import time

from math import pi
from sqlalchemy import create_engine
from mpl_toolkits.basemap import Basemap
from matplotlib.patches import Polygon
from matplotlib.collections import PatchCollection
from geonamescache import GeonamesCache
from datetime import datetime


def get_dataset(avg_interval, …
Run Code Online (Sandbox Code Playgroud)

python animation matplotlib matplotlib-basemap choropleth

7
推荐指数
0
解决办法
401
查看次数

圆形霍夫变换改进

我正在研究虹膜识别算法,该算法将这些类型的图像处理成用于识别和认证目的的唯一代码.

在过滤,智能阈值处理,然后在图像中找到边缘之后,下一步显然是将圆圈与瞳孔和虹膜拟合.我环顾四周使用的技术是圆形霍夫变换.这是我实现的代码.对于神秘的变量名称感到抱歉.

print "Populating Accumulator..."
# Loop over image rows
for x in range(w):
    # Loop over image columns
    for y in range(h):
        # Only process black pixels
        if inp[x,y] == 0:
            # px,py = 0 means pupil, otherwise pupil center
            if px == 0:
                ra = r_min
                rb = r_max
            else:
                rr = sqrt((px-x)*(px-x)+(py-y)*(py-y))
                ra = int(rr-3)
                rb = int(rr+3)
            # a is the width of the image, b is the height
            for _a in range(a):
                for …
Run Code Online (Sandbox Code Playgroud)

algorithm hough-transform

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

扩展Postgresql列中的日期范围

这个可能比我做的简单得多.我必须查询具有这样的基本布局的表

(productNumber varchar, firstYearAvailable int, lastYearAvailable int, ...)
Run Code Online (Sandbox Code Playgroud)

例如

(12345, 2004, 2006, ...),
(22293b, 2009, 2011, ...),
(a7564n, 2007, 2010, ...),
etc.
Run Code Online (Sandbox Code Playgroud)

通过一系列复杂的连接,在与其他表一起的函数中查询此表.截至目前,查询是这样的

SELECT field1, field2, productNumber, firstYearAvailable, lastYearAvailable, ...
FROM ...
JOIN ...
WHERE ...
etc.
Run Code Online (Sandbox Code Playgroud)

不是每个产品(第一年 - 去年)返回年份范围,而是为每个产品返回每年的条目(firstYear,firstYear + 1,...,lastYear)会更有用.例如,假设产品编号是12345,该产品的范围是2004-2006,那么查询应该返回该产品和那两列.

(12345,2004),
(12345,2005),
(12345,2006)
Run Code Online (Sandbox Code Playgroud)

还有一个细节使得此查询特别困难,查询搜索多个部件号,并且每个部件号可能具有不同的年份范围.

有没有人有关于如何解决这个问题的任何提示?我愚弄了循环和连接,并通过条件动态生成SQL语句,但这些都没有效果.

希望我提供了足够的信息,但如果我没有,请问.

谢谢

postgresql date range

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