用于管理调查/行政数据的工具。
项目描述
OpenFisca调查管理器
[EN] 简介
OpenFisca 是一款通用的微模拟免费软件。您可以查看在线文档以获取更多详细信息。
此存储库包含Survey-Manager模块,用于与OpenFisca和调查数据一起使用。
它提供了两个主要功能
- 一个Python API,用于访问层次数据格式(HDF)或Parquet格式的数据。
- 一个脚本,可以将Parquet、SAS、Stata、SPSS和CSV数据文件转换为HDF数据文件,并附带一些元数据,以便它们可以使用Python API。如果格式是Parquet,则保持原样。
对于法国调查数据,您可以在openfisca-france-data仓库中找到下一步的实用信息。
(法文)介绍
OpenFisca是一款开源的微观模拟软件。有关更多信息,请参阅官方文档。
该存储库包含Survey-Manager模块。它简化了OpenFisca与调查数据的结合使用。
它提供了两个主要功能
- 一个Python API,允许访问层次数据格式(HDF)或Parquet格式的数据。
- 一个脚本,可以将SAS、Stata、SPSS和CSV数据文件转换为HDF数据文件,并附带一些元数据,以便它们可以使用Python API。如果格式是Parquet,则保持原样。
如果您拥有法国的调查数据,openfisca-france-data仓库可能对您的下一步处理很有用。
环境
OpenFisca-Survey-Manager在Python 3.9上运行。较新版本可能也可以运行,但尚未测试。
使用方法
安装
使用PIP安装
如果您正在开发自己的脚本或打算在不修改它的情况下运行OpenFisca-Survey-Manager
,您不需要获取其源代码。它只需要被您的环境所知道。为此,首先,使用pip
安装软件包
pip install --upgrade pip
pip install openfisca-survey-manager
这不应该显示任何错误,并以
成功安装 [... openfisca-survey-manager-xx.xx.xx ...] 结束
它包含一个build-collection
命令,我们将在下一步中使用。
如果您想改进此模块,请参阅下面的
开发
部分。
使用Conda安装
创建一个环境并安装openfisca-survey-manager
conda create -n survey python=3.9
conda activate survey
conda install -c conda-forge -c openfisca openfisca-survey-manager
您已经准备好了!
退出环境
conda deactivate
获取配置目录路径
要使用OpenFisca-Survey-Manager,您必须创建两个配置文件
raw_data.ini
,- 和
config.ini
。
要了解它们应复制到何处,请使用以下命令
build-collection --help
您应该得到以下结果。
usage: build-collection [-h] -c COLLECTION [-d] [-m] [-p PATH] [-s SURVEY]
[-v]
optional arguments:
-h, --help show this help message and exit
-c COLLECTION, --collection COLLECTION
name of collection to build or update
-d, --replace-data erase existing survey data HDF5 file (instead of
failing when HDF5 file already exists)
-m, --replace-metadata
erase existing collection metadata JSON file (instead
of just adding new surveys)
-p PATH, --path PATH path to the config files directory (default =
/your/path/.config/openfisca-survey-manager)
-s SURVEY, --survey SURVEY
name of survey to build or update (default = all)
-v, --verbose increase output verbosity
请记住在-p PATH, --path PATH
选项描述中的默认配置目录路径。这是您将设置raw_data.ini
和config.ini
文件的目录。在这个例子中,它是/Users/you/.config/openfisca-survey-manager
。
如果您想使用不同的路径,可以在
build-collection
中使用--path /another/path
选项。尽管这个功能仍然是实验性的。
编辑配置文件
配置文件是INI文件(文本文件)。
raw_data.ini
列出了您的输入调查,而config.ini
指定了SurveyManager输出的路径。
raw_data.ini
和config.ini
不得提交(它们已经被.gitignore
忽略)。
raw_data.ini
,输入配置
要初始化您的raw_data.ini
文件,您可以按照以下步骤操作
-
将模板文件raw_data_template.ini复制到您在上一步中确定的配置目录路径,并将其重命名为
raw_data.ini
。例如:/your/path/.config/openfisca-survey-manager/raw_data.ini
-
通过添加您的调查的标题部分来编辑它。例如,如果您将您的调查命名为
housing_survey
,您应该得到一条带有
[housing_survey]
- 在您的原始数据目录位置添加引用(SAS、stata DTA 文件、SPSS、CSV 文件)。在 Windows 路径中,使用
/
而不是\
来分隔文件夹。即使路径名称包含空格,也不需要使用引号。
您的文件应该看起来像这样
[housing_survey]
2014 = /path/to/your/raw/data/HOUSING_2014
您也可以这样设置多个调查
[revenue_survey]
2014 = /path/to/your/raw/data/REVENUE_2014
2015 = /path/to/your/raw/data/REVENUE_2015
2016 = /path/to/your/raw/data/REVENUE_2016
[housing_survey]
2014 = /path/to/your/raw/data/HOUSING_2014
config.ini,用于输出配置
初始化您的 config.ini
文件
-
将模板文件 config_template.ini 复制到您的配置目录,并将其重命名为
config.ini
。例如:/your/path/.config/openfisca-survey-manager/config.ini
。 -
定义一个
collections_directory
路径,其中 SurveyManager 将生成您的调查输入和输出 JSON 描述。例如:/.../openfisca-survey-manager/transformed_housing_survey
对于housing_survey
,您将得到一个/.../openfisca-survey-manager/transformed_housing_survey/housing_survey.json
文件。 -
定义一个
output_directory
,其中将注册生成的 HDF 文件。此目录可以是collections_directory
的子目录。 -
定义一个
tmp_directory
,将存储临时计算结果。计算结束后,将删除其内容。此目录可以是collections_directory
的子目录。
您的 config.ini
文件应类似于以下内容
[collections]
collections_directory = /path/to/your/collections/directory
[data]
output_directory = /path/to/your/data/output/directory
tmp_directory = /path/to/your/data/tmp/directory
确保这些目录存在,否则脚本将失败。
构建 HDF5 文件
此步骤将读取您的配置文件和调查数据,并为您的调查生成一个 HDF5 文件(.h5
)。为了构建 HDF5 文件,我们将使用 build-collection
脚本。
以下是一个只有一个系列的一个调查的示例:我们只了解 2014 系列的 housing_survey
。我们将我们的调查称为集合(使用 -c
选项)并使用以下命令构建 HDF5 文件
build-collection -c housing_survey -d -m -v
-d -m
选项可以确保安全,因为它们会在存在的情况下删除先前的输出。
它将生成
- 一个列出
housing_survey_2014
调查的housing_survey.json
,其中包含- 您的输入
tables
和输入文件路径在informations
键中, - 转换后的调查路径在
hdf5_file_path
键中。
- 您的输入
- 您的转换调查在
housing_survey_2014.h5
文件中。
build-collection 还有什么?
如 build-collection --help
所示,还有其他选项。以下是一些其他用法示例。
如果您有一个调查的多个系列,例如 revenue_survey
,您可以使用以下命令运行特定的 2015
系列
build-collection -c revenue_survey -s 2015 -d -m -v
或者,如果您想指定不同的配置目录路径
build-collection -p /another/path -c housing_survey -s 2014 -d -m -v
尽管
--path /another/path
选项仍然是实验性的。
它应该工作。如果不起作用,请勿犹豫打开一个问题。
Parquet 文件
Parquet 文件可以作为输入文件使用。它们不会被转换为 HDF5。由于 Parquet 文件只能包含一个表,我们在调查中的每个表中添加了一个 "parquet_file"
键。此键包含 Parquet 文件的路径,或包含相同表的许多 Parquet 文件的文件夹。
如果您使用文件夹,必须使用以下模式命名您的文件:some_name_-<number>.parquet
并将同一表的文件保留在同一文件夹中。
如果单个文件包含所有表,您可以在同一文件夹中为不同表创建多个文件。
开发
如果您想为 OpenFisca-Survey-Manager 贡献,请随时欢迎!要在开发模式下本地安装它
git clone https://github.com/openfisca/openfisca-survey-manager.git
cd openfisca-survey-manager
make install
测试
运行整个测试套件
make test
使用与持续集成 (CI) 中相同的配置运行整个测试套件
CI=True make test
样式
此存储库遵循一定的编码风格,我们邀请您遵循它以便您的贡献能够及时集成。
运行样式检查器
make check-style
自动格式化您的代码更改
make format-style
每次提交时自动格式化您的代码更改
touch .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
tee -a .git/hooks/pre-commit << END
#!/bin/sh
#
# Automatically format your code before committing.
exec make format-style
END
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
openfisca_survey_manager-2.2.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | db665001bfa3858339c140bf106c1aa76a8668867658715fd0e9958977817f16 |
|
MD5 | 51a85a64edd13cf5de6544c22d932711 |
|
BLAKE2b-256 | 4da1a8a87c05dc06d8fb23fd096647a6829ef5765d5476fd57a1b34dadbd9cc5 |
哈希值 为 OpenFisca_Survey_Manager-2.2.1-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dbf9ca8b4f1cff814dac5b238f29e3cf1b4140a9b5584ff40ad8133a4e68cf57 |
|
MD5 | e200ef70fa8b45b11642c80113638843 |
|
BLAKE2b-256 | 71b93b66a3eb8a2c3d9c1bc59c20a60a4037e38117d94eaa98cd4852d054ee10 |