tools
Project description
Ricco
常用工具:util.py
文件处理
- mkdir_2:新建文件夹
- ext: 提取扩展名
- fn: 提取除扩展名外的文件名
- rdf:读取文件
- split_csv:将文件拆分为多个同名的csv
- to_csv_by_line:一行一行的写入csv
- csv2shp: csv转shapefile
- shp2csv: shapefile转csv文件
数据处理
- extract_num:提取数字
- to_float: 封装好的转数值型工具
- serise_to_float: 封装好的整列转数值型的工具
- col_round: 四舍五入,默认保留两位小数,绝对值小于1的保留4位小数
- standard:数据标准化
- fuzz_match: 一个字符串和一堆进行匹配模糊匹配,计算相似度
- fuzz_df:两列进行模糊匹配,计算相似度
- reset2name:重置索引列为name
- segment:分段工具,'10-20米'
空间地理处理
- geom_wkb2lnglat:geometry转经纬度
- geom_wkt2wkb:wkt转wkb
- lnglat2geom:经纬度转geometry
- valid_check:面数据的有效性检查
其他工具
- ensure_list: 各种变量转list
- pinyin: 转汉语拼音
坐标转换:coord_trans.py
- BD2WGS:百度转84
- GD2WGS:高德转84
- coord_trans_x2y:自定义转换
坐标解析:geocode_bd.py
- get_lnglat:单个点位解析
- geocode_df:批量解析
实用工具包
Installation
pip install ricco
Update package
pip install -i https://pypi.org/pypi ricco --upgrade
函数使用说明
文件存取工具
1. 文件读取文件
- func:
rdf(filepath)
-- 文件读取通用函数
- 目前支持格式
.csv/.xls/.xlsx/.shp
- 示例代码:
from ricco import rdf filepath = 'data.csv' df = rdf(filepath)
2. 拆分文件
- func:
split_csv(filename, n=5)
-
将文件拆分为多个同名的csv文件
-
其中输入文件为
.csv/.xls/.xlsx
-
输出文件为
.csv
-
示例代码:
from ricco import split_csv filename = 'data.csv' split_csv(filename, n=2) # 将文件拆分为两个同名的文件
./data/
Part_0/
data.csv
Part_1/
data.csv
-
dataframe及数据处理工具
-
func:
reset2name(df)
- 将index拿出来作为name列
- 示例代码:
from ricco import rdf from ricco import reset2name df = rdf('data.csv') df = reset2name(df)
-
func:
extract_num(string: str, num_type: str = 'str', method: str = 'list', join_list: bool = False, ignore_pct: bool = True, multi_warning=False)
提取字符串中的数值,默认返回所有数字组成的列表 :param string: 输入的字符串 :param num_type: 输出的数字类型,int/float/str,默认为str :param method: 结果计算方法,对结果列表求最大/最小/平均/和/等,numpy方法,默认返回列表本身 :param join_list: 是否合并列表,默认FALSE :param ignore_pct: 是否忽略百分号,默认True
-
func:
to_float(string, rex_method: str = 'mean')
- 将字符串转为数字格式,无法转换的为空值,同时支持正则表达式提取数字,支持%格式数据
- 示例代码:
from ricco import to_float to_float('10%') # 0.1 to_float('10--') # 10.0
-
func:
serise_to_float(serise)
- pandas.Series: str --> float
-
func:
segment(x, gap, sep: str = '-', unit: str = '')
- 区间段划分工具
x
: 输入的数值gap
: 数值:划分间隔;list:自定义分段sep
: 分隔符,默认为'-'unit
: 分段末尾的单位,如米、元等- 示例代码:
from ricco import segment segment(55, 20, sep='-', unit='米') # 40-60米 segment(55, 20) # '40-60' segment(55, 20, sep='--', unit='米') # '40--60米' segment(55, [20]) # '20以上' segment(10, [20, 50], unit='米') # '20米以下' segment(20, [20, 50], unit='米') # '20-50米' segment(50, [20, 50], unit='米') # '50米以上'
文件转换工具
- func:
csv2shp('filename.csv')
- csv文件转shapefile,必须要有geometry字段
- 由于列名为中文转换失败的会转化为汉语拼音去转换
- func:
shp2csv('shapefilename.shp')
- shapefile转csv
坐标转换和地址解析
-
func:
BD2WGS(df)
- bd09(百度) --> wgs84,经纬度必须为lng和lat
- 示例代码:
from ricco import BD2WGS df = BD2WGS(df)
-
func:
GD2WGS(df)
- gcj02(高德) --> wgs84,经纬度必须为lng和lat
- 示例代码:
from ricco import GD2WGS df = GD2WGS(df)
-
func:
get_lnglat(addr: str, addr_type: str, city: str = '')
- geocoding工具,通过地址或项目名称,返回经纬度(wgs84)
addr
: 地址或经纬度addr_type
: 地址的类型,可选'addr'
(地址类型:xx路xx号)或'name'
(项目名称:XX大厦)city
: 城市 *示例代码from ricco.geocode_bd import get_lnglat get_lnglat('脉策数据', addr_type='name', city='上海') # [121.516868, 31.311847, '上海脉策数据科技有限公司'] get_lnglat('政学路51号', addr_type='addr', city='上海') # [121.5166918714937, 31.31181948447693, None]
-
func:
geocode_df(df, addr_col, addr_type: str, city: str = '')
- 针对dataframe批量解析经纬度
df
: 输入的dataframeaddr_col
: 作为地址去解析的列名,可传入列名的列表,列表中的元素是有顺序的,如['区县', '项目名称']
addr_type
: 地址的类型,可选'addr'
(地址类型:xx路xx号)或'name'
(项目名称:XX大厦)city
: 城市
空间计算工具
- func:
valid_check
- 检查面文件的有效性
- func:
circum_pio_num_geo_aoi
- 空间计算
- func:
mark_tags_df
- 通过面给点位打标签
其他工具
- func:
mkdir_2
- 新建文件夹,已有的文件夹不再新建
- func:
pinyin
- 中文转汉语拼音
- 示例代码:
from ricco import pinyin pinyin('测试') # ceshi
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ricco-0.1.27.tar.gz
(31.6 kB
view hashes)
Built Distribution
ricco-0.1.27-py3-none-any.whl
(35.3 kB
view hashes)