首页 > 解决方案 > Python从带有列的子列表中提取值

问题描述

如果有人可以帮助我,我将不胜感激。

我在熊猫数据框中有一列带有数据类型对象。它里面有多个列表。我想要做的是根据经度和纬度挑选坐标并将它们存储在单独的列中。我尝试使用以下方法创建一个仅包含坐标值的新列:df["A"]= df['geometry'].str[37:]。我不确定剩下的剩余值是一组多个列表还是什么。

geometry
0   {"type": "Polygon", "coordinates": [[[-79.41469317817781, 43.6739104164259], [-79.41484930122832, 43.6743388247927], [-79.4155279126094, 43.67606998537741],..]]]}

结果应该是

Longitudes                   Latitudes 

-79.41469317817781          43.6739104164259
-79.41484930122832          43.6743388247927

任何建议将不胜感激

标签: pythonpandas

解决方案


尝试这个。首先将df保存为文本文件

with open('df.txt', 'r') as data:
  plaintext = data.read()

plaintext = plaintext.replace('-', '--')

#s = plaintext

plaintext = plaintext.replace("-", " ", 1)
#print(plaintext)
import re

start = '-'
end = '--'

a=(plaintext [plaintext .find(start)+len(start):plaintext .rfind(end)])
a = a.replace("[", "")
a = a.replace("]", "")
a = a.replace(",", "")
a = a.replace("--", "-")
print(a)

输出

79.41469317817781 43.6739104164259 -79.41484930122832 43.6743388247927 

推荐阅读