小编Mal*_*nge的帖子

如何用Seaborn在同一个地块上绘制多个直方图

使用matplotlib,我可以在一个图上创建一个包含两个数据集的直方图(一个与另一个相邻,不是叠加).

import matplotlib.pyplot as plt
import random

x = [random.randrange(100) for i in range(100)]
y = [random.randrange(100) for i in range(100)]
plt.hist([x, y])
plt.show()
Run Code Online (Sandbox Code Playgroud)

这产生以下图.

在此输入图像描述

但是,当我尝试用seabron做这件事时;

import seaborn as sns
sns.distplot([x, y])
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ValueError: color kwarg must have one color per dataset
Run Code Online (Sandbox Code Playgroud)

那么我尝试添加一些颜色值:

sns.distplot([x, y], color=['r', 'b'])
Run Code Online (Sandbox Code Playgroud)

我得到了同样的错误.我看到这篇关于如何叠加图形的文章,但我希望这些直方图是并排的,而不是叠加.

在查看文档时,它没有指定如何将列表列表作为第一个参数'a'.

如何使用seaborn实现这种直方图?

python matplotlib seaborn

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

如何在django视图之间传递数据

这个问题通常会解决我的问题,但我正在寻找更具体的解释.

我希望用户更新一组模型对象,但是,需要首先检索这些对象的查询集.我的计划是在两个单独的UR /视图中执行此操作,从第一个获取查询集信息,然后显示下一个要更新的模型表单集.

我的第一个视图给出了所有"项目"(我的一个模型)的列表,并检索所选项目的ID.

这是表格:

class ProjectLookupForm(forms.Form):
    Project_Name = chosenforms.ChosenModelChoiceField(queryset=Project.objects.all())
Run Code Online (Sandbox Code Playgroud)

这是观点:

def update_project_filter(request):
    project_form = ProjectLookupForm(request.POST or None)
    if request.method == 'POST':
        if project_form.is_valid():
            context = {"project_form":project_form}
            # Get project here and share it with the next view.
            selected_project_id = project_form.cleaned_data["Project_Name"].id
            # Add a new return statement here?
            # Or call update project view from here?
            # Add a redirect button to html?
        else:
            errors = project_form.errors
            context = {"errors":errors, "project_form":project_form}
    else:
        context = {"project_form":project_form}
    return render(request, 'filter_update_project_form.html', context) …
Run Code Online (Sandbox Code Playgroud)

python django django-forms django-views

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

如何判断多次第一次调用方法的时间

我希望能够分辨出第一次调用方法的时间.当我打印到分隔文件时,我主要需要这个,如果是第一次迭代,我想在实际信息之前打印一个标题.这就是我通常做的事情:

def writeFile(number, count):
    if count == 1:
        print('number')
        print(str(count))
    else:
        print(str(count))


count = 1
for i in range(10):
    writeFile(i, count)
    count += 1
Run Code Online (Sandbox Code Playgroud)

这提供了以下输出:

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

虽然这实现了我追求的目标,但我很好奇是否有更好/更有效的方法来做到这一点.有没有办法检测方法是否第一次被调用而不必向其传递额外的参数?

谢谢,

python methods

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

Kivy CheckBox看起来像纯黑盒子(不是复选框)

我正在制作一个BoxLayout小部件(orientation ='horizo​​ntal'),其中包含三个小部件,一个标签,一个文本框和一个复选框.

thisRow = BoxLayout(orientation='horizontal')
l = Label(text='Enter plate 1:\n(Plate #)')
t = TextInput(text = 'this is a text box')
c = CheckBox()
thisRow.add_widget(l)
thisRow.add_widget(t)
thisRow.add_widget(c)
Run Code Online (Sandbox Code Playgroud)

这会生成以下小部件(thisRow):

在此输入图像描述

检查框后...

在此输入图像描述

最右边的黑匣子实际上是复选框,并且在功能上起作用,但是用户无法知道它实际上是一个复选框.我希望中间有一个较小的空方块,如图所示.

如何获得传统的复选框图像(较小的空方框)?或者一般来说,我怎样才能让盒子更明显,这是一个复选框而不仅仅是一个空标签?

谢谢

python kivy

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

如何用sed删除\ r \n字符

很简单,我有一个文件在每个换行符都有\ r \n.

aaaa\r\nbbbb\r\ncccc
Run Code Online (Sandbox Code Playgroud)

我希望删除\ r字符,同时保留\n到位.

我可以在python中轻松完成这项工作,但是使用简单的sed命令它似乎更优雅.这可能吗?什么表达可以做到这一点?我似乎无法在网上找到任何此类解决方案.

谢谢

regex linux sed

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

Biopython可以执行Seq.find()会计模糊代码

我希望能够在Seq对象中搜索seq对象来解释模糊代码.例如,以下内容应为真:

from Bio.Seq import Seq
from Bio.Alphabet.IUPAC import IUPACAmbiguousDNA

amb = IUPACAmbiguousDNA()
s1 = Seq("GGAAAAGG", amb)
s2 = Seq("ARAA", amb)     # R = A or G
print s1.find(s2)
Run Code Online (Sandbox Code Playgroud)

如果考虑到歧义代码,答案应该是

>>> 2
Run Code Online (Sandbox Code Playgroud)

但我得到的答案是找不到匹配,或者

>>> -1
Run Code Online (Sandbox Code Playgroud)

查看biopython源代码,似乎没有考虑歧义代码,因为使用private _get_seq_str_and_check_alphabet方法将子序列转换为字符串,然后使用内置字符串方法find().当然,如果是这种情况,"R"模糊度代码将被视为文字"R",而不是A或G.

我可以弄清楚如何用自制方法做到这一点,但似乎应该在使用其Seq对象的biopython包中处理.这里有什么我想念的东西.

有没有办法搜索模糊代码的子序列成员资格?

python bioinformatics biopython

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

使用html多选表单只能选择一个选项

我有一个多选形式,如下所示:

<select multiple="multiple" id="id_form-0-project" name="form-0-project">
    <option value="0">and another test</option>
    <option value="1">another test</option>
    <option value="2" selected="selected">one more test</option>
    <option value="3">test project</option>
</select>
Run Code Online (Sandbox Code Playgroud)

可以看出,有一个选定的值.这始终是我选择的第一个选项.但是,当我通过班次点击或命令点击选择多个选项时,不会调整新选择的项目以包含所选的="选定"属性,即使在视觉上,用户看起来突出显示所述选择.

在这方面,它就像一个单一的选择器,但我认为添加"multiple ="multiple"属性将允许将所选属性分配给多个选项.

这是个常见的问题吗?它可能与页面重新加载有关吗?预期的行为是什么?

html javascript jquery

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

将<Object,Object>放入TreeMap时出错

我有以下两个类来定义我想要放入TreeMap的对象:

class GeneKey {

    String PN;
    int PW;

    // Generator makes unique TreeMap key.
    GeneKey(String a, int b){
        this.PN = a;
        this.PW = b;
    }
}   
Run Code Online (Sandbox Code Playgroud)

然后是第二个对象:

class GeneValue {

    String info;
    String date;

    // Generator makes TreeMap value
    GeneValue(String a, String b){
        this.info = a;
        this.date = b;
    }
}   
Run Code Online (Sandbox Code Playgroud)

我想制作一个TreeMap:

import java.util.TreeMap;

// In main ...
TreeMap<GeneKey, GeneValue> samples = new TreeMap<GeneKey, GeneValue>();  

String a = "test";
int b = 100;

String c = "test again";
String d …
Run Code Online (Sandbox Code Playgroud)

java dictionary treemap

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

如何同时执行多个列表切片?

说我有一个清单:

L1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

我有一个索引列表:

indices = (2, 5, 7)
Run Code Online (Sandbox Code Playgroud)

我希望能够同时在所有 3 个索引处对列表进行切片。换句话说,id 喜欢在一行中执行以下几行代码:

sub1 = L1[:2]
sub2 = L1[2:5]
sub3 = L1[5:7]
sub4 = L1[7:]
Run Code Online (Sandbox Code Playgroud)

我可以很容易地编写一个执行此操作的函数,但我想知道是否可以在一个表达式中执行此操作。

python slice

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

如何使用super()初始化python中的子类参数

我已经看到了关于如何在python中使用'super'的各种示例,但在所有这些示例中,没有参数传递给子类的init方法.请考虑以下示例.

这是基类:

class Animal(object):

    def __init__(self, genus):
        self.genus = genus
Run Code Online (Sandbox Code Playgroud)

现在heres没有使用超级:

class Dog(Animal):

    def __init__(self, genus):
        Animal.__init__(self, genus)


x = Dog('Canis')
print x.genus  # Successfully prints "Canis"
Run Code Online (Sandbox Code Playgroud)

现在,当我使用super时:

class Dog(Animal):

    def __init__(self, genus):
        super(Animal, self).__init__(genus)

x = Dog('Canis')
print x.genus  
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

TypeError: object.__init__() takes no parameters
Run Code Online (Sandbox Code Playgroud)

那么如果对象.init()不带参数,如何在实例化那个子类时设置这个特定动物的特定属?我是否必须显式分配这样的变量:

class Dog(Animal):

    def __init__(self, genus):
        super(Animal, self).__init__()
        self.genus = genus
Run Code Online (Sandbox Code Playgroud)

python inheritance super

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