在列表中链接自定义函数的Pythonic方法

时间:2019-02-11 23:41:10

标签: python python-3.x shapefile

我已经对此进行了一段时间的搜索,但无法给出令人满意的答案,因为我知道该如何实现。我是一名Python新手,正在尝试找出一种将函数中的几个函数链接在一起的Python方法。

我的功能仅仅是将形状文件转换为可用于地图的不可知工具格式。

该功能按预期工作,看上去确实很不雅致,创建功能然后逐个应用功能,但是如上所述,我找不到一种更轻松的方式...

import re
import pandas as pd

def shape_to_string(shp_in):
    # convert geoseries to list of strings
    shp_in = list(shp_in.astype(str))

    # function to strip out numeric, brackets and leading/trailing spaces
    strip_chars = lambda x: re.sub('[aA-zZ()]','', x).lstrip().rstrip()
    # function to split on space
    split_string = lambda x: x.split(' ')

    # apply function over incoming list
    clean_shp = list(map(strip_chars, shp_in))
    split_shp = list(map(split_string, clean_shp))

    # format as dataframe
    cols = ['long', 'lat']
    shp_out = pd.DataFrame(split_shp, columns=cols)

    return(shp_out)

示例数据:

0     POINT (540409.1130999997 185311.6275999993)
1     POINT (541906.0785999997 185683.2414999995)
2     POINT (543515.8586999997 186487.3535999991)
3     POINT (545384.0466999998 187089.3987000007)
4     POINT (546470.5884999996 187325.4045000002)

0 个答案:

没有答案