小编Ale*_*ail的帖子

pandas 中的区间交集

更新5:

此功能已作为 pandas 20.1 的一部分发布(在我生日那天:])

更新4:

PR已合并!

更新3:

PR已经搬到这里了

更新2:

看来这个问题可能有助于在 pandas 中重新开放 IntervalIndex 的 PR

更新:

我不再遇到这个问题,因为我现在实际上正在查询 和 的重叠范围AB而不是B查询落在 的范围内的点A,这是一个完整的区间树问题。不过我不会删除这个问题,因为我认为这仍然是一个有效的问题,而且我没有一个好的答案。

问题陈述

我有两个数据框。

在 dataframe 中A,两个整数列一起表示一个区间。

在 dataframe 中B,一个整数列代表一个位置。

我想做一种连接,以便将点分配给它们所属的每个区间。

间隔很少但偶尔重叠。如果一个点落在该重叠范围内,则应将其分配给两个间隔。大约一半的点不会落在一个区间内,但几乎每个区间都会有至少一个点在其范围内。

我一直在想什么

我最初打算将我的数据从 pandas 中转储,并使用IntervalTreeBanyanbx-python但后来我遇到了这个要点。事实证明,soyer 的想法从未进入 pandas,但它让我思考——也许可以在 pandas 中做到这一点,而且因为我希望这段代码能够像 python 一样快,所以我直到最后才将我的数据从 pandas 中转储出来。我也觉得这可以通过binspandascut函数实现,但我是 pandas 的新手,所以我可以使用一些指导!谢谢!

笔记

潜在相关?Pandas DataFrame groupby 可变长度的重叠间隔

python interval-tree pandas

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

哪些系数去了scikit中多类逻辑回归中的哪一类?

我正在使用scikit learn的Logistic回归来解决多类问题.

logit = LogisticRegression(penalty='l1')
logit = logit.fit(X, y)
Run Code Online (Sandbox Code Playgroud)

我对推动这一决定的特征感兴趣.

logit.coef_
Run Code Online (Sandbox Code Playgroud)

上面给了我一个漂亮的数据帧(n_classes, n_features)格式,但所有的类和功能名称都消失了.有了功能,这没关系,因为假设它们的索引方式与我传递它们的方式相同似乎是安全的......

但是对于类,这是一个问题,因为我从未以任何顺序明确地传入类.那么哪个类做系数集(数据帧中的行)0,1,2和3属于哪个?

python scikit-learn logistic-regression

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

如何防止 d3.drag().on('end' 从触发 .on('click'

我有一个 svg 元素,我希望能够分别单击和拖动。据我所知,在 D3 中,单击会触发“拖动结束”事件(也可能是拖动开始?)。在下面的代码中,只需单击圆圈即可显示红色轮廓:

var svg = d3.select('body').append('svg');
var g = svg.append('g');

var c = g.append('circle').attr('r', 20).attr('cx', 25).attr('cy', 25)
         .call(d3.drag().on('drag', dragged).on('end', end))
         .on('click', clicked);

function dragged() {
    d3.select(this).attr('fill', 'green').attr('cx', d3.event.x).attr('cy', d3.event.y);
}

function end() {
    d3.select(this).attr('fill', 'red').attr('stroke', 'red').attr('stroke-width', 5);
}

function clicked() {
    if (d3.event.defaultPrevented) return;
    d3.select(this).attr('fill', 'blue');
}
Run Code Online (Sandbox Code Playgroud)

小提琴

如何在不触发drag.end回调的情况下注册点击回调?

似乎大多数关于点击和拖动的问题和块似乎都想抑制拖动时的点击动作,所以不相关。


  • d3v5.7(当前)

javascript d3.js

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

Pathlib Path.rename() 创建中间目录的方法?

我正在尝试在我的文件系统上移动一些文件。我想使用 Python 3 的 Pathlib 来做到这一点,特别是Path.rename

说我想要移动Path('/a/b/c/d')Path('/w/x/y/z')

Path('/a/b/c/d').rename(Path('/w/x/y/z'))
Run Code Online (Sandbox Code Playgroud)

FileNotFoundError: [Errno 2] No such file or directory: '/a/b/c/d' -> '/w/x/y/z'
Run Code Online (Sandbox Code Playgroud)

我可以解决这个问题

os.makedirs(Path('/w/x/y', exist_ok=True)
Path('/a/b/c/d').rename(Path('/w/x/y/z'))
Run Code Online (Sandbox Code Playgroud)

但这不如老式os优雅,后者有一个名为renames的方法,可以为您执行此操作。有没有办法在 Pathlib 中做到这一点?

python python-3.x

6
推荐指数
2
解决办法
2103
查看次数

无法在El Capitan中安装Pip包(10.11)

好的,所以我已经酿造了,自从El Capitan以来我就重新推出了重新安装的python.

MacBook-Pro-2:decipher Alex$ which python
/usr/local/bin/python
MacBook-Pro-2:decipher Alex$ whereis python
/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

我有两个蟒蛇.这一切都很好.Brew医生很干净,除了在/ usr/local/include中找到一些Unbrewed头文件,其中没有一个看起来与Python有关.没有virtualenv,有没有办法再安装包?我觉得我可能会遗漏一些东西.

就像这个人我试图获得IPython一样.我真的不需要它,所以有一天我放弃了.现在我需要Pylint.如果我尝试用pip安装它:

IOError: [Errno 13] Permission denied: '/lib/python2.7/site-packages/logilab_common-1.1.0-py2.7-nspkg.pth'
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何在我的系统上指向另一个python实例,或者做其他事情以便我可以恢复旧的行为?请?

- 编辑 -

建议使用/ usr/local/bin/pip来安装ipython.这是输出.我还想不通如何使用ipython.

MacBook-Pro-2:MNIST Alex$ /usr/local/bin/pip install ipython[all]

Requirement already satisfied (use --upgrade to upgrade): ipython[all] in /Library/Python/2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): traitlets in /usr/local/bin (from ipython[all])
Requirement already satisfied (use --upgrade to upgrade): pickleshare in /usr/local/bin (from ipython[all])
Requirement already satisfied (use --upgrade to upgrade): simplegeneric>0.8 in /usr/local/bin (from ipython[all])
... …
Run Code Online (Sandbox Code Playgroud)

python macos pip osx-elcapitan

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

flask-sqlalchemy with_entities 和关系

我只想从我的模型中选择几列来加速查询,但我想要选择的列之一来自关系。

楷模:

class OpenChromatinRegion(db.Model):
    ...
    gene_id     = db.Column(db.Integer, db.ForeignKey("gene.id"), nullable=False, index=True)
    gene        = db.relationship("Gene", back_populates='open_chromatin_regions')

class Gene(db.Model):
    id          = db.Column(db.Integer, primary_key=True)
    ENSEMBLID   = db.Column(db.Integer, index=True, unique=True, nullable=False)
    ...
Run Code Online (Sandbox Code Playgroud)

询问:

q = OpenChromatinRegion.query.with_entities(Gene.ENSEMBLID, ...)...
Run Code Online (Sandbox Code Playgroud)

如何使用我之前尝试过的 flask-sqlalchemy 从 OpenChromatinRegion 中正确选择几列,.with_entities(OpenChromatinRegion.gene.ENSEMBLID)但这也不起作用。使用此语法,我没有收到错误,但请求超时。

sqlalchemy flask-sqlalchemy

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

如何将本地卷移动到远程 docker 机器上

我在云上有本地 docker 机器和远程 docker 机器。我的 docker-compose 应用程序有一个web具有以下配置的容器:

web:
  container_name: web
  restart: always
  build: ./web
  expose:
    - "8000"
  links:
    - postgres:postgres
  volumes:
    - /usr/src/app/static
    - ./data:/usr/src/app/data
  env_file: .env
  command: /usr/local/bin/gunicorn --workers 4 --timeout 120 --bind :8000 app:app
Run Code Online (Sandbox Code Playgroud)

重要的部分是第二卷。我有一个名为 data 的本地文件夹,其中包含大约 10GB 的数据。我首先将其设为一个卷,因为否则构建容器会花费很长时间。现在该应用程序已准备好投入生产,我想部署它。一个问题:现在我的远程web容器中安装了一个空数据文件夹。那么如何将数据从本地计算机移动到远程 docker 计算机上的容器中呢?我什至要把它移到哪里

似乎有两个工具可以实现此目的:

  • docker cp这似乎不适用于远程 docker 机器
  • docker-machine scp这似乎是为此而设计的,对吧?

我几乎肯定我需要使用其中的第二个,但由于我不太了解 docker 机器如何工作或它保存数据的位置,我不确定要使用什么目标路径:

  $  dm scp -r /Users/alex/Documents/Project/data remote-machine:/usr/src/app/data
Run Code Online (Sandbox Code Playgroud)

失败并显示错误消息:

scp: /usr/src/app/data: No such file or directory

我应该在哪里 scp 处理这些数据,以便将其正确安装在我的远程web容器上?

docker docker-compose docker-machine docker-volume

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

如何在django中构建json REST API(不使用Django REST框架)

前言

我有一个django项目.我已将它连接起来,因此它为一堆模型提供了大量视图.现在我想添加一个端点,它只是将数据库的很大一部分转储为json.

我假设你这样做的方法是在视图类/方法中添加一个URL,它返回一个充满json的HTTPResponseObject.不幸的是,经过相当多的谷歌搜索,我所能找到的只是对Django REST框架的引用.这是你认为Django内部提供的不是外部插件库的一部分.但是搜索django文档并没有立即给出答案 - 我认为没有任何关于如何构建一个只服务于json的端点的文档.

问题:

  • 我是否真的需要"Django REST框架"来为django中的json服务?
  • 我是否因为服务json而忽略了Django的文档?
  • 在django项目中为json提供服务的规范方法是什么?

django django-rest-framework

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

如何在d3力导向图布局中可视化节点组

我正在寻找一种方法来将组插入到我的力导向图形可视化中.到目前为止,我找到了三个相关的例子:

  • Cola.js需要添加另一个库,并可能改编我的代码以适应这个不同的库.

  • 这个块,很难解开.

  • 这张幻灯片来自mbostock的幻灯片,这不是我想要的,而是在正确的道路上......

我最喜欢的是从第一个链接添加非常接近结构的东西的简单方法,但没有太多开销.

现在我有一个非常标准的设置:

var link = g.selectAll(".link")
            .data(graph.links)
            .enter().append("line")
            .attr("class", "link")
            .style(...

var node = g.selectAll(".node")
            .data(graph.nodes)
            .enter().append("g")
            .attr("class", "node")
            .attr("id", function(d) { return d.id; })
Run Code Online (Sandbox Code Playgroud)

我希望只是从cola.js中获取d3代码并弄乱它,但是这个库看起来相当复杂,所以它不会太容易.我希望在d3中得到类似的东西并不太难:

在此输入图像描述

谢谢!

d3.js force-layout

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

如何使用每个选项的模板覆盖 ModelChoiceField / ModelMultipleChoiceField 默认小部件

背景

我有两个模型,Runs 和 Orders。一次运行将完成许多订单,因此我的订单和运行之间存在多对一关系,表示为订单上的外键。

我想构建一个 UI 来创建运行。它应该是一种有人选择要运行的订单的形式。我想在每个订单的信息旁边显示一个复选框列表。我现在正在使用django 脆皮形式

视图.py

class createRunView(LoginRequiredMixin, CreateView):
    model = Run
    form_class = CreateRunForm
    template_name = 'runs/create_run.html'
Run Code Online (Sandbox Code Playgroud)

表格.py

class CreateRunForm(forms.ModelForm):
    class Meta:
       model = Run
       fields = ['orders',]

    orders = forms.ModelMultipleChoiceField(queryset=Order.objects.filter(is_active=True, is_loaded=False))

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.form_method = 'post'
        self.helper.layout = Layout(
            Field('orders', template="runs/list_orders.html"),
            Submit('save', 'Create Run'),
            Button('cancel', 'Cancel'),
    )
Run Code Online (Sandbox Code Playgroud)

问题

  1. 我不确定list_orders.html模板中有哪些当地人可供我使用。似乎有{{ field }},也许form.visible_fields但是如果我深入研究其中一个TypeError: 'SubWidget' object is not iterable,我会得到一个,它几乎没有在线记录。

  2. 以上表明我可能仍然在模板中获得一个小部件,尽管事实上Field('orders', …

python django django-forms django-crispy-forms

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