小编use*_*990的帖子

R是否具有像python一样的开头或结尾的功能?

正在寻找名称以某些子字符串开头的预测变量,找不到任何类似的函数.

python string r startswith ends-with

62
推荐指数
4
解决办法
5万
查看次数

将pandas DataFrame query()方法与isin()结合使用

所以我想使用isin()方法df.query(),id在列表中选择行:id_list.之前曾问过类似的问题,但他们使用了典型的df[df['id'].isin(id_list)]方法.我想知道是否有一种方法可以使用df.query().

df = pd.DataFrame({'a': list('aabbccddeeff'), 'b': list('aaaabbbbcccc'),
                   'c': np.random.randint(5, size=12),
                   'd': np.random.randint(9, size=12)})

id_list = ["a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)

这会产生错误

df.query('a == id_list')
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

使用python和互相关进行图像配准

我得到了两张图片,显示了相同的内容:2D高斯形斑点.我把这两个16位的png文件称为"left.png"和"right.png".但是,通过稍微不同的光学设置获得它们,相应的斑点(物理上相同)出现在略微不同的位置.意味着右边以非线性方式略微拉伸,扭曲或左右.因此,我希望从左到右进行转换.

因此,对于左侧的每个像素,其x和y坐标,我想要一个函数,给出位移矢量的分量,指向右侧的相应像素.

在前一种方法中,我试图获得相应斑点的位置以获得相对距离deltaX和deltaY.然后我将这些距离拟合到taylor扩展到T(x,y)的二阶,给出了左边每个像素(x,y)的位移矢量的x和y分量,指向相应的像素(x',y')在右边.

为了得到更一般的结果,我想使用归一化的互相关.为此,我将左边的每个像素值与右边的相应像素值相乘,并将这些乘积相加.我正在寻找的转换应该连接最大化总和的像素.因此,当总和最大化时,我知道我将相应的像素相乘.

我真的尝试了很多,但没有管理.我的问题是,如果你们中的某个人有想法或做过类似的事情.

import numpy as np
import Image

left = np.array(Image.open('left.png'))
right = np.array(Image.open('right.png'))

# for normalization (http://en.wikipedia.org/wiki/Cross-correlation#Normalized_cross-correlation)    
left = (left - left.mean()) / left.std()
right = (right - right.mean()) / right.std()
Run Code Online (Sandbox Code Playgroud)

如果我能更清楚地说明这个问题,请告诉我.我仍然需要查看如何使用乳胶发布问题.

非常感谢您的投入.

剩下 对

[left.png] http://i.stack.imgur.com/oSTER.png [right.png] http://i.stack.imgur.com/Njahj.png

我担心,在大多数情况下,16位图像看起来只是黑色(至少在我使用的系统上):(但当然有数据存在.

更新1

我试着澄清我的问题.我正在寻找一个矢量场,其位移矢量从left.png中的每个像素指向right.png中的相应像素.我的问题是,我不确定我的约束.

import numpy as np
import Image

left = np.array(Image.open('left.png'))
right = np.array(Image.open('right.png'))

# for normalization (http://en.wikipedia.org/wiki/Cross-correlation#Normalized_cross-correlation)    
left = (left - left.mean()) / left.std()
right = (right - right.mean()) / right.std()
Run Code Online (Sandbox Code Playgroud)

其中向量r(分量x和y)指向left.png中的像素,向量r-prime(分量x-prime和y-prime)指向right.png中的对应像素.每个r都有一个位移矢量.

我之前做的是,我发现了矢量场d的手动组件并将它们拟合到第二度的多项式:

import numpy …
Run Code Online (Sandbox Code Playgroud)

python image cross-correlation

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

Anaconda提示加载错误:输入行太长

我在Windows 7 64位版本上安装了Anaconda 64 python 2.7.安装后,anaconda提示符可以启动没有问题.但每当我重新启动/关闭并重新启动笔记本电脑时,anaconda提示符将显示以下错误消息,并且一些python软件包在jupyter笔记本中加载有问题.

Deactivating environment "C:\Users\user\Anaconda2"...
Activating environment "C:\Users\user\Anaconda2"...
The input line is too long.
 "PATH_NO_SCRIPTS=C:\Users\user\Anaconda2;;C:\Users\user\Anaconda2\Lib
rary\bin;C:\Python27\;C:\Python27\Scripts;c:\Rtools\bin;c:\Rtools\gcc-4.6.3\bin;
C:\ProgramData\Oracle\Java\javapath;%COSMOSM%;C:\Program Files\Lenovo Fingerprin
t Reader\;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS
Client\;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP
\bin\x86;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program File
s (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Intel\Intel(R) Man
agement Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine
Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Component
s\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\
Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon
\;C:\Program Files\Sony\VAIO Improvement\;C:\Program Files (x86)\Sony\VAIO Start
up Setting Tool;c:\Program Files (x86)\Common Files\Roxio Shared\OEM\DLLShared\;
c:\Program Files …
Run Code Online (Sandbox Code Playgroud)

python prompt batch-file windows-7-x64 anaconda

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

R中聚合FUN ='c'或'list'

一直在寻找,但到目前为止没有运气.

这是数据框.

> test = data.frame(x = c(1,1,2,2,3,3), y = c('a','b','c','d','e','f'))
> test
  x y
1 1 a
2 1 b
3 2 c
4 2 d
5 3 e
6 3 f
Run Code Online (Sandbox Code Playgroud)

正在寻找一种方法来聚合,使得具有相同x值的y被形成为列表或向量.

就像是

  x y
1 1 a,b
2 2 c,d
3 3 e,f
Run Code Online (Sandbox Code Playgroud)

尝试'c'但结果不是预期的结果

> aggregate(y~x, data = test, FUN = 'c')
  x y.1 y.2
1 1   1   2
2 2   3   4
3 3   5   6
Run Code Online (Sandbox Code Playgroud)

"list"似乎有效,但它将字符转换为因子.

> ss = aggregate(y~x, data = test, FUN = …
Run Code Online (Sandbox Code Playgroud)

aggregate r list concatenation aggregate-functions

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