标签: transform

std :: transform使用C++ 0x lambda表达式

这是如何在C++ 0x中完成的?

std::vector<double> myv1;
std::transform(myv1.begin(), myv1.end(), myv1.begin(),
               std::bind1st(std::multiplies<double>(),3));
Run Code Online (Sandbox Code Playgroud)

原始问题和解决方案就在这里.

c++ stl transform c++11

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

Python Pandas:如何在groupby/transform操作中向数据框添加一个全新的列

我想在我的数据中标记一些分位数,并且对于DataFrame的每一行,我希望在名为"xtile"的新列中输入以保存此值.

例如,假设我创建了一个这样的数据框:

import pandas, numpy as np
dfrm = pandas.DataFrame({'A':np.random.rand(100), 
                         'B':(50+np.random.randn(100)), 
                         'C':np.random.randint(low=0, high=3, size=(100,))})
Run Code Online (Sandbox Code Playgroud)

让我们说我编写自己的函数来计算数组中每个元素的五分位数.我有自己的功能,但是例如只需要参考scipy.stats.mstats.mquantile.

import scipy.stats as st
def mark_quintiles(x, breakpoints):
    # Assume this is filled in, using st.mstats.mquantiles.
    # This returns an array the same shape as x, with an integer for which
    # breakpoint-bucket that entry of x falls into.
Run Code Online (Sandbox Code Playgroud)

现在,真正的问题是如何使用transform向数据添加新列.像这样的东西:

def transformXtiles(dataFrame, inputColumnName, newColumnName, breaks):
    dataFrame[newColumnName] = mark_quintiles(dataFrame[inputColumnName].values, 
                                              breaks)
    return dataFrame
Run Code Online (Sandbox Code Playgroud)

然后:

dfrm.groupby("C").transform(lambda x: transformXtiles(x, "A", "A_xtile", [0.2, 0.4, 0.6, 0.8, 1.0]))
Run Code Online (Sandbox Code Playgroud)

问题是上面的代码不会添加新列"A_xtile".它只是保持我的数据框不变.如果我首先添加一个充满虚拟值的列,例如NaN,称为"A_xtile",那么它会 …

python group-by transform dataframe pandas

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

你能根据`Monads`来定义`Comonads`吗?

好吧,让我们说你有类型

newtype Dual f a = Dual {dual :: forall r. f(a -> r)->r}
Run Code Online (Sandbox Code Playgroud)

事实证明,什么时候f是Comonad,Dual f是Monad(有趣的运动).它是否相反?

您可以定义fmap ab (Dual da) = Dual $ \fb -> da $ fmap (. ab) fbextract (Dual da) = da $ return id,但我不知道如何定义duplicateextend.

这甚至可能吗?如果没有,那么证据不存在(是否有一个特定的Monad m,你可以证明Dual m它不是一个comonad)?

一些观察: Dual IO a基本上Void(并且Const Void是有效的Comonad). Dual m aMonadPlus m Void(只使用dual mzero). …

monads haskell transform comonad

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

C++ std :: transform()和toupper()..为什么这会失败?

我有2个std :: string.我只是想,给定输入字符串:

  1. 每封信都要大写
  2. 将大写字母分配给输出字符串.

为什么这样有效:

  std::string s="hello";
  std::string out;
  std::transform(s.begin(), s.end(), std::back_inserter(out), std::toupper);
Run Code Online (Sandbox Code Playgroud)

但这不会(导致程序崩溃)?

  std::string s="hello";
  std::string out;
  std::transform(s.begin(), s.end(), out.begin(), std::toupper);
Run Code Online (Sandbox Code Playgroud)

因为这有效(至少在相同的字符串上:

  std::string s="hello";
  std::string out;
  std::transform(s.begin(), s.end(), s.begin(), std::toupper);
Run Code Online (Sandbox Code Playgroud)

c++ string stl transform

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

-transform:在悬停时导致'闪烁'的缩放

我正在开发一个目录,该目录使用css -transform属性在悬停时缩放每个'swatch'.

这是我的问题:在某些浏览器和某些网站上,当您将鼠标悬停在样本上时,会导致页面在翻转时"闪烁".我无法解决这个问题,在一个网站上它可能是Safari的独特之处,另一个网站可能只发生在Chrome中,另一个网站则完全没问题.

希望我有更多的信息,但也许其他人遇到了类似的问题.

目录截图

.swatch {
  -webkit-box-shadow: #EFEFEF 2px 2px 0px;
  -webkit-transform: scale(1);
  -webkit-transition-duration: 0.2s;
  border: 1px solid white;
  position: relative;
  z-index: 1;

.swatch:hover {
  position:relative;
  z-index:10;
  transition-duration: 0.2s;
  transform:scale(1.8);
  -webkit-transition-duration: 0.2s;
  -webkit-transform:scale(1.8);
}
Run Code Online (Sandbox Code Playgroud)

在删除任何z-index属性时似乎也解决了问题,但是悬停样本在其他样本后面; 这对这个项目不起作用.

任何想法都表示赞赏.

html css transform z-index hover

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

后台附件已修复,变换无法在Firefox中使用

background-attachment: fixed在Firefox中关闭CSS值转换.

这是一个例子

div {
   transform: translate3d(0,0,0); // if remove starts to work
   width: 100%;
   height: 2000px;
   background-image: url('http://www.wallpapereast.com/static/images/001_Fish-Wallpaper-HD_hkNsK33.jpg');
   background-size: cover;
   background-attachment: fixed;
}
Run Code Online (Sandbox Code Playgroud)
<div></div>
Run Code Online (Sandbox Code Playgroud)

如果你从CSS中删除转换它开始工作.仅可在FF中重现.

css firefox background transform background-attachment

27
推荐指数
2
解决办法
2563
查看次数

如何在Safari中进行WebKit 3D变换后强制重新渲染

我正在使用CSS 3D转换来缩放div,例如:

-webkit-transform: scale3d(2,2,1);
Run Code Online (Sandbox Code Playgroud)

缩放本身在任何WebKit浏览器中都能正常工作.但是,在Safari(移动设备或Windows)上使用此功能时,不会重新呈现div的内容.结果是缩放后内容变得模糊.

仅在使用3D变换时才会出现此效果.使用时一切正常

-webkit-transform: scale(2);.

为了在iPhone/iPad上利用硬件加速,使用3D转换会很不错.

有人知道怎么告诉Safari用新的比例重新渲染div吗?

css safari webkit transform scale

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

最快的距离变换算法

我正在寻找最快的距离变换算法.

根据这个网站http://homepages.inf.ed.ac.uk/rbf/HIPR2/distance.htm,它描述了:"距离变换可以使用聪明的算法在两次通过中更有效地计算(例如Rosenfeld和Pfaltz 1968)."

搜索周围,我发现:"Rosenfeld,A和Pfaltz,J L. 1968.数字图片上的距离函数.模式识别,1,33-61."

但我相信我们应该拥有比1968年更好更快的算法?事实上,我找不到1968年的来源,所以任何帮助都受到高度赞赏.

algorithm transform distance image-processing

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

旋转BufferedImage时如何产生清晰的绘画效果?

一种尝试的方法是使用TexturePaintg.fillRect()绘制图像.然而,这需要您在每次绘制图像时创建一个新的TexturePaint和Rectangle2D对象,这是不理想的 - 并且无论如何都没有帮助.

当我使用时g.drawImage(BufferedImage,...),旋转的图像看起来模糊/柔和.

我熟悉RenderingHints和双缓冲(我认为这就是我正在做的事情),我发现很难相信你不能轻易有效地在Java中旋转产生尖锐结果的图像.

使用代码TexturePaint看起来像这样.

Grahics2D g2d = (Graphics2D)g; 
g2d.setPaint(new TexturePaint(bufferedImage, new Rectangle2D.Float(0,0,50,50)));
g2d.fillRect(0,0,50,50);
Run Code Online (Sandbox Code Playgroud)

我正在用AffineTransform一把牌旋转成一个风扇.什么是快速绘制好看图像的最佳方法?

这是一个截图:
模糊旋转的示例
9是清脆的,但其余的卡肯定不那么尖锐.

问题可能出在我创建每张卡片图像并将其存储在数组中时.
这就是我现在正在做的事情:

// i from 0 to 52, card codes.
...
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gs = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = gs.getDefaultConfiguration();
BufferedImage img = gc.createCompatibleImage(86, 126, Transparency.TRANSLUCENT);

    Graphics2D g = img.createGraphics();
    setRenderingHints(g);
    g.drawImage(shadow, 0, 0, 86, 126, null);
    g.drawImage(white, 3, 3, 80, 120, null);
    g.drawImage(suit, 3, 3, 80, …
Run Code Online (Sandbox Code Playgroud)

java interpolation bufferedimage transformation transform

25
推荐指数
2
解决办法
3066
查看次数

CSS3转换顺序很重要:最先操作

当我们使用CSS3时transform: operation1(...) operation2(...),首先完成哪一个?

第一次操作似乎是最右边的操作.,即此处operation2已完成operation1.只是为了确定,这是真的吗?

注意:我在某些地方读过一件事,反之亦然(答案,互联网上的文章),这就是问题所在.

css transform css3 css-transforms

25
推荐指数
3
解决办法
8005
查看次数