Skip to main content

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: 输入的dataframe
    • addr_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


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.29.tar.gz (31.9 kB view hashes)

Uploaded Source

Built Distribution

ricco-0.1.29-py3-none-any.whl (35.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page