没有项目描述
locushandler的Python项目详细描述
蝗虫
创建这个包是为了自动化轨迹编码的数据处理步骤。它提供解析和验证的函数 轨迹码。它还允许处理使用轨迹分类系统或其他常见的经济数据文件 分类系统,如NAICS或SOC。
开始
安装
可以使用pip下载和安装包。
pip install locushandler
然后您将能够在python脚本中导入包。
import locushandler as lh
您还可以导入包的特定部分。
import locushandler.string_parser as sp
import locushandler.file_handler as fh
先决条件
loocshandler是用python 3编写的。 使用pip install,所有使用locushandler所需的python库都应该自动安装在您的机器上。
如何使用Locshandler
粒度
粒度参数采用格式为<;a>;x<;r>;with<;a>; 在[1,4,12,36]和[1,6,6x4,6x4x3]中的<;r>;
活动
- “1”:无活动
- “4”:4个阶段的活动周期
- “12”:12个阶段的活动周期
- “36”:36个阶段的活动周期
资源
- “1”:没有资源
- “6”:资源类别
- “6x4”:资源类别分级
- “6x4x3”:分阶段资源类别
示例
- 工作轨迹:-4x6:1 b,3 f-12x6x4:(b4)1.2 b4,2.2 c3-36x6x4x3:3.3.1 e3ii,(b4ii)3.1.2 div
- 资源位点:-1x6:B,F-12x6x4:B4 2.2 B4,A4 1.3 C3-36x6x4x3:B4II 1.2.2 E3II,B4II 2.2.2 div
输入语法
- loocshandler假设所有的工作位点都包含在区分资源和信息输出的圆括号中。
请确保输入数据遵循该语法。
分析轨迹代码
字符串解析器模块允许您以字符串格式解析任何工作或资源位置,如
'(B4ii) 1.2.2 B4i'
'B4ii 2.2.2 F'
并以所需的粒度获取该代码的列表、字典或字符串。
分析字典
sp.string_parser('(B4ii) 1.2.2 B4Div', 'dict', '36x6x4x3', show_dr=True, show_io=True))
sp.string_parser('(B4ii) 1.2.2 B4Div', 'dict', '36x6x4x3', show_dr=True, show_io=True))
将返回以下词典
{'dr': {'r1': 'B', 'r2': '4', 'r3': 'ii'},
'act': {'a1': '1', 'a2': '2', 'a3': '2'},
'obj': {'r1': 'B', 'r2': '4', 'r3': 'V'},
'io': {'r1': '', 'r2': '', 'r3': ''}
}
使用merge_fields
参数返回(字段,字段值)对:
sp.string_parser('(B4ii) 1.2.2 B4Div', 'dict', '36x6x4x3', show_dr=True, show_io=True))
将返回以下词典
{'dr': 'B4ii',
'act': '1.2.2',
'obj': 'B4V',
'io': ''
}
解析到列表
sp.string_parser('(B4ii) 1.2.2 B4Div', 'list', '4x6', show_dr=True, show_io=True))
sp.string_parser('(B4ii) 1.2.2 B4Div', 'list', '4x6', show_dr=True, show_io=True))
将返回以下列表
['B','2','B','']
解析为字符串
sp.string_parser('(B4ii) 1.2.2 B4Div', 'string', '12x6x4', show_dr=False, show_io=False))
sp.string_parser('(B4ii) 1.2.2 B4Div', 'string', '12x6x4', show_dr=False, show_io=False))
将返回以下字符串
'1.2 B4'
分析文件中的轨迹代码列
file_handler模块允许您解析.csv文件的整列。如果输入文件包含作为字符串的轨迹代码 函数parse_file可以解析它并返回一个数据帧或一个新保存的.csv文件的名称,其中的列包含 每个元素都是所需粒度的轨迹代码。 下表是输入数据的一个例子。
Enterprise_Locus | Employment level | ... | Area | Year |
---|---|---|---|---|
'(B4ii) 1.2.2 B4i' | 1366 | ... | NY | 2010 |
(A4iii) 3.3.2 B3ii | 235 | ... | VA | 2008 |
... | ... | ... | ... | ... |
'(B4ii) 1.3.2 F' | 78 | ... | KS | 2010 |
解析到pandas数据帧
fh.parse_file('file.csv', 'Enterprise_Locus', 'df', '12x6x4x3', show_dr=False, show_io=False)
fh.parse_file('file.csv', 'Enterprise_Locus', 'df', '12x6x4x3', show_dr=False, show_io=False)
将返回包含以下信息的pandas数据框
a1 | a2 | r1 | r2 | r3 | Employment level | ... | Area | Year |
---|---|---|---|---|---|---|---|---|
1 | 2 | B | 4 | i | 1366 | ... | NY | 2010 |
3 | 3 | B | 3 | ii | 235 | ... | VA | 2008 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
1 | 3 | F | 78 | ... | KS | 2010 |
解析到新的.csv文件
fh.parse_file('file.csv', 'Enterprise_Locus', 'path', '12x6x4x3', show_dr=False, show_io=False)
fh.parse_file('file.csv', 'Enterprise_Locus', 'path', '12x6x4x3', show_dr=False, show_io=False)
将返回包含上述相同信息的新.csv文件的路径。在这种情况下,路径是 '文件解析'u 12x6x4x3\u企业轨迹.csv'
映射到轨迹码
如果输入数据使用一个通用的分类系统,那么locushandler提供一个映射输入数据的函数 以所需的粒度定位代码。 下表是输入数据的一个例子。
Naics | Employment level | ... | Area | Year |
---|---|---|---|---|
13589 | 3468735 | ... | USA | 2010 |
78621 | 87685 | ... | FRANCE | 2008 |
... | ... | ... | ... | ... |
34697 | 34786 | ... | NIGERIA | 2010 |
要调用map_to_轨迹,您需要输入文件(file_naics.csv)的路径、您映射的分类系统(naics)所在列的名称。 ,crosswalk文件(naics5)中分类系统的列的名称,crosswalk文件的路径(naics2locus.csv), 您感兴趣的条形码字段(企业轨迹)、粒度(4x6)以及对DR和IO的需求。
fh.map_to_locus('file_naics.csv', 'Naics', 'NAICS5', 'naics2locus.csv', 'entreprise_locus','4x6', show_dr=True, show_io=True)
将返回包含以下信息*的Pandas数据帧。
dr1 | a1 | r1 | io1 | Employment level | ... | Area | Year |
---|---|---|---|---|---|---|---|
B | 1 | B | 3468735 | ... | USA | 2010 | |
2 | A | C | 87685 | ... | FRANCE | 2008 | |
... | ... | ... | ... | ... | ... | ... | ... |
A | 3 | B | 34786 | ... | NIGERIA | 2010 |
*此处NAICS到轨迹映射不准确
文档
作者
贡献者
推荐PyPI第三方库