gpt4 book ai didi

python - 在 Pandas 列中查找正则表达式模式

转载 作者:太空宇宙 更新时间:2023-11-03 15:30:32 25 4
gpt4 key购买 nike

在 pandas DataFrame 中,我有以下列:

df1 = pd.DataFrame({'id': [1,2], 'coords':['-43.22 -22.15 -43.16 -22.19','-43.32 -22.18 -43.136 -22.149']})

'coords' 列包含纬度和经度值。因此,我需要从 'coords' 列创建两列,'latitude''longitude'。我考虑过使用正则表达式 re 库来做到这一点。纬度值始终以字符串 -4 和经度 -2 开头,并以空格分隔。然后我如何使用正则表达式创建以 -4 开头并以空格结尾的纬度列以及以 -2 开头并以白色结尾的经度列空间?

输出示例:

id |   latitude     | longitude
1 | -43.22, -43.16 | -22.15, -22.19
2 | -43.32, -43.136| -22.18, -22.149

最佳答案

如果没有正则表达式,这似乎可以更容易地完成。例如,如果您的原始 coords 数据结构定义如下:

data = ['-43.22 -22.15 -43.16 -22.19', '-43.32 -22.18 -43.136 -22.149']

您可以在空白处拆分它们:

data_split = [d.split() for d in data]
# [['-43.22', '-22.15', '-43.16', '-22.19'],
# ['-43.32', '-22.18', '-43.136', '-22.149']]

然后分别为您的坐标赋值:

lat = [[d[0], d[2]] for d in data_split]
lon = [[d[1], d[3]] for d in data_split]
df1 = pd.DataFrame({'id': [1,2], 'lat': lat, 'lon': lon})
# id lat lon
# 1 [-43.22, -43.16] [-22.15, -22.19]
# 2 [-43.32, -43.136] [-22.18, -22.149]

关于python - 在 Pandas 列中查找正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58067186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com