我正在尝试打印或获取具有缺失值的列名列表.例如
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)
它运作良好,但我认为应该更简单.
我有以下问题:我有项目和一个小库以及 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 venv 的新手,很抱歉可能提出愚蠢的问题。
我正在开发一个小型图书馆。我已经创建了开发虚拟环境,其中包含库使用所需的所有包,并将所有版本的需求冻结到requirements.txt。
我还想创建requirements_test.txt,其中包含开发和测试所需的所有包。因此,用户将从requirements.txt安装需求,而开发人员将从requirements_test.txt安装所有必需的库(例如pytest、asv、sphinx)。
现在我已经创建了 dev venv,现在我想创建 test venv,当然我不想安装相同的库两次。是否可以将一些库从一个 venv 共享到另一个 venv?
我有下一个查询.我有一个周期
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)
但它会产生异常.
我想比常见的问题,但我是那种语言的新手,并且无法绕过它或在互联网上找到解决方法.先感谢您.