小编dyl*_*fan的帖子

优雅的方式来引用数据科学项目中的文件

最近几天我花了很多时间学习如何构建数据科学项目,以保持简单,可重用和pythonic.坚持我已经创建的这个指南my_project.你可以在下面看到它的结构.

??? README.md          
??? data
?   ??? processed          <-- data files
?   ??? raw                            
??? notebooks  
|   ??? notebook_1                             
??? setup.py              
|
??? settings.py            <-- settings file   
??? src                
    ??? __init__.py    
    ?
    ??? data           
        ??? get_data.py    <-- script  
Run Code Online (Sandbox Code Playgroud)

我定义了一个从中加载数据的函数.data/processed.我想在其他脚本中以及位于.notebooks中的jupyter笔记本中使用此函数.

def data_sample(code=None):
    df = pd.read_parquet('../../data/processed/my_data')
    if not code:
        code = random.choice(df.code.unique())
    df = df[df.code == code].sort_values('Date')
    return df
Run Code Online (Sandbox Code Playgroud)

显然,除非我直接在定义它的脚本中运行它,否则此函数无法在任何地方运行.我的想法是创建settings.py我声明的地方:

from os.path import join, dirname

DATA_DIR = join(dirname(__file__), 'data', 'processed')
Run Code Online (Sandbox Code Playgroud)

所以现在我可以写:

from my_project import settings …
Run Code Online (Sandbox Code Playgroud)

python directory-structure setuptools python-3.x

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

Pyandstaller与Pandas创建超过500 MB的exe

我尝试使用PyInstaller 3.2.1创建一个exe文件,出于测试目的,我试图为下面的代码创建一个exe:

import pandas as pd
print('hello world')
Run Code Online (Sandbox Code Playgroud)

经过相当长的时间(15分钟+)后,我完成了620文件大小的dist文件夹和构建 - 150 MB.我使用Python 3.5.2 | Anaconda自定义(64位)在Windows上工作.可能值得注意的是,在dist文件夹中,mkl文件负责将近300 MB.我使用'pyinstaller.exe foo.py'运行pyinstaller.我尝试使用--exclude-module来排除某些依赖项,但最终还是使用了大量文件.无论我使用onefile还是onedir都没有任何区别.

我知道exe必须包含一些重要文件,但是接近1 GB是否正常?如有必要,我可以提供警告日志或任何可能有助于解决问题的事情.

PS同时我的同事用相同的样本脚本创建了一个exe,结果不到100 MB,不同的是他没有使用anaconda.这可能是事吗?

任何帮助将不胜感激.

python pyinstaller python-3.x pandas

7
推荐指数
3
解决办法
9559
查看次数