小编bru*_*lin的帖子

按索引合并两个数据帧

嗨,我有以下数据帧:

> df1
  id begin conditional confidence discoveryTechnique  
0 278    56       false        0.0                  1   
1 421    18       false        0.0                  1 

> df2
   concept 
0  A  
1  B
Run Code Online (Sandbox Code Playgroud)

如何合并索引以获得:

  id begin conditional confidence discoveryTechnique   concept 
0 278    56       false        0.0                  1  A 
1 421    18       false        0.0                  1  B
Run Code Online (Sandbox Code Playgroud)

我问,因为我的理解是merge()ie df1.merge(df2)使用列来进行匹配.事实上,这样做我得到:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pandas/core/frame.py", line 4618, in merge
    copy=copy, indicator=indicator)
  File "/usr/local/lib/python2.7/dist-packages/pandas/tools/merge.py", line 58, in merge
    copy=copy, indicator=indicator) …
Run Code Online (Sandbox Code Playgroud)

python merge concat dataframe pandas

118
推荐指数
7
解决办法
16万
查看次数

获取Python错误"来自:无法读取/ var/mail/Bio"

我正在运行(生物)python脚本,导致以下错误:

from: can't read /var/mail/Bio
Run Code Online (Sandbox Code Playgroud)

看到我的脚本与邮件没有任何关系,我不明白为什么我的脚本在查找/ var/mail.

这里似乎有什么问题?我怀疑它会有所帮助,因为脚本似乎不是问题,但无论如何这里是我的脚本:

from Bio import SeqIO
from Bio.SeqUtils import ProtParam

handle = open("examplefasta.fasta") 
for record in SeqIO.parse(handle, "fasta"): 
    seq = str(record.seq)
    X = ProtParam.ProteinAnalysis(seq)
    print X.count_amino_acids() 
    print X.get_amino_acids_percent() 
    print X.molecular_weight() 
    print X.aromaticity() 
    print X.instability_index() 
    print X.flexibility() 
    print X.isoelectric_point() 
    print X.secondary_structure_fraction()
Run Code Online (Sandbox Code Playgroud)

这里有什么问题?糟糕的python设置?我真的不认为这是剧本.

python

81
推荐指数
4
解决办法
9万
查看次数

在r markdown中抑制控制台输出,但保留情节

嗨,我有以下降价块:

```{r, echo=FALSE,warning=FALSE,message=FALSE,error=FALSE}
lapply(obj,function(x) plot(x,main="some plot") box() axis(1,at=seq(0,25,by=1))
```
Run Code Online (Sandbox Code Playgroud)

输出是多个图.但是我也在图表下面的pdf文档中获得了控制台消息.

<Plot 1> nice plot 1!
<Plot 2> nice plot 2!

-- nasty horrible console output
## [[1]] 
01.2882829 

## [[2]]
120.29393933
Run Code Online (Sandbox Code Playgroud)

我已经尝试了echo/warning/error/message = FALSE,但这些都没有抑制控制台输出

请帮忙!

markdown r rstudio

24
推荐指数
6
解决办法
3万
查看次数

计算图像的梯度矢量场

我想读取一个图像 - 一个圆形的图片,并计算该图像的梯度矢量场(即向量均匀指向并垂直于圆圈的向量).我的逻辑让我失望了一点,但我有:

clear all;
im = im2double(imread('littlecircle.png'));
im = double(im);
[nr,nc]=size(im);
[dx,dy] = gradient(im);
[x y] = meshgrid(1:nc,1:nr);
u = x;
v = y;
quiver(x,y,u,v)
Run Code Online (Sandbox Code Playgroud)

如果我只是简单地执行上述操作,我会得到一个矢量场,但它只是空网格的渐变(即只是渐变的矢量场y = x).我真正想要的是使用

[dx,dy] = gradient(im);
Run Code Online (Sandbox Code Playgroud)

检测图像中圆的边缘,然后根据图像中的圆计算梯度矢量场.显然,分配u = x和v = y只会给我一条直线的矢量场 - 所以基本上,我想把图像的渐变嵌入到矢量u和v中.我该怎么做?

我的结果

我得到错误的图像

matlab image image-processing

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

完全卸载r linux

我试图在linux mint上更新我的R版本,但是破坏的依赖性阻止了我这样做.在尝试了诸如从Cran添加repos之后的一切,sudo apt-get update,我仍然无法安装最新版本的R.

我的问题是如何从我的机器中完全删除R,以便我可以重新启动.我试过了 :

sudo apt-get remove r-base
Run Code Online (Sandbox Code Playgroud)

但是当我运行R时它仍然有效:

laptop$ R

R version 2.13.1 (2011-07-08)
Copyright (C) 2011 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: x86_64-pc-linux-gnu (64-bit)
Run Code Online (Sandbox Code Playgroud)

并且似乎根本没有被删除.

我想要一个干净,全新的安装,但我不认为我正在正确地删除R.

linux r

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

在R中加两列

当我试图在R中添加两列来获得产品时,我感到有点尴尬.

我试过了

sum(col1,col2)
Run Code Online (Sandbox Code Playgroud)

但这会回来

Error in Summary.factor(c(49L, 48L, 47L, 46L, 46L, 45L, 45L, 44L, 43L,  : 
  sum not meaningful for factors
Run Code Online (Sandbox Code Playgroud)

我觉得这很简单!两列都包含整数.

r

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

查找文件名大于的文件

如果我有10个名为01-a.txt,02-a.txt,... 10-a.txt的文件 - 我怎样才能找到数字大于5的文件?我想要一个通用的解决方案,我会使用类似的东西将所有文件的内容放入一个文件中

cat *.txt > bigfile.txt
Run Code Online (Sandbox Code Playgroud)

我可以使用数字获取文件

ls *[0-9]*
Run Code Online (Sandbox Code Playgroud)

但似乎无法超越这一点.

谢谢.

linux ls file

8
推荐指数
2
解决办法
6623
查看次数

创建一个字符串matlab的单元格数组

嗨,我正在尝试创建一个字符串的单元格数组:

data = ['1';'2';'3';'4';'5';'6';'7';'8';'9';'10';'11';'12';'13';'14';'15';'16';'17';'18';'19';'20';];
Run Code Online (Sandbox Code Playgroud)

我希望有25个元素的单元格数组.但我得到:

length(data)

= 33
Run Code Online (Sandbox Code Playgroud)

显然数字12,13等计为2位.

我的问题是如何确保单元阵列长度为20?即使我使用整数,我将单元格数组放入的函数也必须是字符串的单元格数组!

string matlab cell

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

使用xargs将行拆分为3个单独的参数

如果我有以下内容:

$ printf '%s\n' "${fa[@]}"

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

其中每一行都是一个新的数组元素.我希望能够通过空格分隔符拆分元素,并将结果用作3个单独的参数并输入xargs.

例如,第一个元素是:

1 2 3
Run Code Online (Sandbox Code Playgroud)

在哪里使用我要传递的xargs 1,23进入一个简单的echo命令,例如:

$ echo $0
1
4
7

$ echo $1
2
5
8

$ echo $2
3
9
6
Run Code Online (Sandbox Code Playgroud)

所以我一直在尝试以下列方式:

printf '%s\n' "${fa[@]}" | cut -d' ' -f1,2,3 | xargs -d' ' -n 3 bash -c 'echo $0'
Run Code Online (Sandbox Code Playgroud)

这使:

1
2
3 4
5
6 7
8
9 10
Run Code Online (Sandbox Code Playgroud)

除了奇怪的行排序 - 尝试xargs -d' ' …

parallel-processing bash xargs

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

使用grep确定字符串的频率

如果我有一个矢量

x <- c("ajjss","acdjfkj","auyjyjjksjj")
Run Code Online (Sandbox Code Playgroud)

并做:

y <- x[grep("jj",x)]
table(y)
Run Code Online (Sandbox Code Playgroud)

我明白了:

y
      ajjss auyjyjjksjj 
          1           1 
Run Code Online (Sandbox Code Playgroud)

但是第二个字符串"auyjyjjksjj"应该将子字符串"jj"计算两次.如何将其从真/假计算中更改为实际计算"jj"的频率?

此外,如果对于每个字符串,可以计算子字符串的频率除以字符串的长度,这将是很好的.

提前致谢.

string grep r frequency

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