小编Mik*_*19x的帖子

VS Code 远程 ssh:如何让进程在断开连接后继续运行直至完成?

我正在使用 VS Code 通过 ssh 在 Ubuntu 服务器上进行远程 Python 开发。VS Code 处理 ssh 连接。我从 IDE 启动进程。如果断开连接即使很短暂,进程也会被终止。

有办法阻止这种情况发生吗?我预计 VS Code 中会有一个设置,因为远程计算机上安装了一个 VS Code 服务器,但什么也没找到。

注意:我在这里尝试了 Moreno 推荐的程序,他使用“tmux”,但是在 Linux 中并不成功,除非您使用 Faria 在评论部分中提供的 mod

更新:有可能“破坏”莫雷诺提出的解决方案。长时间断开连接后,VS Code 开始返回“终端进程 /home/.../code-shell 无法启动(退出代码:1)”。按照建议的故障排除方法并未解决问题。最终重新启动 VS Code,这是一个次优的解决方案。

openssh visual-studio-code ubuntu-18.04

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

如何在 Jupyter Notebook 中正确运行内存分析器

我正在尝试在 macOS Catalina (10.15.2) 上的 Jupyter Notebook(请参阅下面的环境)中运行简单的内存分析。代码(取自此处)如下:

def mess_with_memory():
    huge_list = range(200)
    del huge_list
    print("Complete" )
Run Code Online (Sandbox Code Playgroud)

这就是我调用探查器和生成的配置文件的方式(如果我更改模块,则第一次不会调用“importlib.reload”,仅在后续运行时调用):

在此输入图像描述

我期望看到的是“增量”列,以“0”开头,然后逐行增加然后减少值,就像这里一样。相反,“增量”列从某个值开始,每行的后续值为零。在所示的实例中,范围的值非常低,但如果我将其增加到非常高的值也没关系,内核重新启动后的结果大致相同。如果我不重新启动内核并重复重新运行,“增量”列的最上面的值就会增加。

我猜这是因为我在 Jupyter 中运行,但我在这里找到的参考资料表明我应该能够做到这一点。任何人都可以解释可能发生的事情或指出我可以在哪里找到答案吗?

环境:

在此输入图像描述

memory-management python-3.x jupyter-notebook

7
推荐指数
0
解决办法
3203
查看次数

将函数动态应用到 Postgres 表中的所有列

使用 Postgres 13.1,我想对表的所有列应用前向填充函数。前向填充函数在我之前的问题中进行了解释:

但是,在这种情况下,列和表是指定的。我想获取该代码并将其应用于任意表,即。指定一个表,并将前向填充应用于每一列。

以此表为例:

CREATE TABLE example(row_num int, id int, str text, val integer);
INSERT INTO example VALUES
  (1, 1, '1a', NULL)
, (2, 1, NULL,    1)
, (3, 2, '2a',    2)
, (4, 2, NULL, NULL)
, (5, 3, NULL, NULL)
, (6, 3, '3a',   31)
, (7, 3, NULL, NULL)
, (8, 3, NULL,   32)
, (9, 3, '3b', NULL)
, (10,3, NULL, NULL)
;
Run Code Online (Sandbox Code Playgroud)

我从该函数的以下工作基础开始。我称之为传递一些变量名。请注意,第一个是名而不是列名。该函数获取表名并创建所有列名的数组,然后输出名称。

create or replace function col_collect(tbl text, …
Run Code Online (Sandbox Code Playgroud)

sql postgresql null dynamic-sql plpgsql

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

pandas 用元组将数据框列扩展为多列和多行

我有一个数据框,其中一列包含元素,这些元素是包含多个元组的列表。我想将每个元组转换为每个元素的一列,并为每个元组创建一个新行。所以这段代码显示了我的意思和我想出的解决方案:

import numpy as np
import pandas as pd

a = pd.DataFrame(data=[['a','b',[(1,2,3),(6,7,8)]],
                      ['c','d',[(10,20,30)]]], columns=['one','two','three'])

df2 = pd.DataFrame(columns=['one', 'two', 'A', 'B','C'])

print(a)

for index,item in a.iterrows():
    for xtup in item.three:
        temp = pd.Series(item)
        temp['A'] = xtup[0]
        temp['B'] = xtup[1]
        temp['C'] = xtup[2]
        temp = temp.drop('three')
        df2 = df2.append(temp)

print(df2)
Run Code Online (Sandbox Code Playgroud)

输出是:

  one two                   three
0   a   b  [(1, 2, 3), (6, 7, 8)]
1   c   d          [(10, 20, 30)]



  one two   A   B   C
0   a   b   1   2   3
0   a …
Run Code Online (Sandbox Code Playgroud)

dataframe python-3.x pandas

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