小编Lin*_*ard的帖子

Pandas:打印缺少值的列名

我正在尝试打印或获取具有缺失值的列名列表.例如

data1 data2 data3  
1     3     3  
2     NaN   5  
3     4     NaN  
Run Code Online (Sandbox Code Playgroud)

我想得到['data2','data3'].我写了以下代码:

print('\n'.join(map(
    lambda x : str(x[1])
    ,(filter(lambda z: z[0] != False, zip(train.isnull().any(axis=0), train.columns.values)))
)))
Run Code Online (Sandbox Code Playgroud)

它运作良好,但我认为应该更简单.

python pandas

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

pytest 不执行 test/__init__.py 文件

我有以下问题:我有项目和一个小库以及 lib 的测试目录,类似这样:

项目\

+mylib\

++测试\

在 test__init__.py 中我有以下代码:

SCRIPT_DIR = os.path.dirname(os.path.realpath(os.path.join(os.getcwd(), os.path.expanduser(__file__))))
sys.path.append(os.path.normpath(os.path.join(SCRIPT_DIR, "test_data_files")))
Run Code Online (Sandbox Code Playgroud)

因此,只需更新 syspath 即可打开一些包含测试数据的文件。当我通过右键单击 Pycharm 中的目录来运行测试时,它会成功执行,但是当我运行时

python -m pytest lib/test
Run Code Online (Sandbox Code Playgroud)

它不会执行 test/ init .py 文件并因 FileNotFoundError 失败,因为它可以找到测试数据文件。

这种行为的原因是什么?我该如何解决?

谢谢。

python pytest python-packaging

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

Python虚拟环境(venv):在使用和开发/测试venvs中共享库

我是 python venv 的新手,很抱歉可能提出愚蠢的问题。

我正在开发一个小型图书馆。我已经创建了开发虚拟环境,其中包含库使用所需的所有包,并将所有版本的需求冻结到requirements.txt。

我还想创建requirements_test.txt,其中包含开发和测试所需的所有包。因此,用户将从requirements.txt安装需求,而开发人员将从requirements_test.txt安装所有必需的库(例如pytest、asv、sphinx)。

现在我已经创建了 dev venv,现在我想创建 test venv,当然我不想安装相同的库两次。是否可以将一些库从一个 venv 共享到另一个 venv?

python virtualenv

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

如果n = 1,如何使R跳过2:n周期?

我有下一个查询.我有一个周期

for (i in 2:n) { ... }
Run Code Online (Sandbox Code Playgroud)

并且它在n = 1的情况下执行两次,其中i等于2然后为1,但我希望在这种情况下根本不执行该循环.我也试过了

seq(from = 2, to = 1, by = 1)
Run Code Online (Sandbox Code Playgroud)

但它会产生异常.

我想比常见的问题,但我是那种语言的新手,并且无法绕过它或在互联网上找到解决方法.先感谢您.

r range

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

标签 统计

python ×3

pandas ×1

pytest ×1

python-packaging ×1

r ×1

range ×1

virtualenv ×1