【发布时间】:2020-07-12 06:03:01
【问题描述】:
我在 pandas 数据框中有以下十行。我想提取坐标,如 [49,49]、[31,78] 等(对于每一行)。
我尝试使用字符串提取,但无法找出模式。
这是我尝试过的。我不确定我是否理解这是如何工作的:
b 是数据框,positions 是列
b.positions.str.extract("""[{'y': (\d+), 'x': (\d+)}],""")
[{'y': 49, 'x': 49}, {'y': 78, 'x': 31}]
[{'y': 78, 'x': 31}, {'y': 75, 'x': 51}]
[{'y': 75, 'x': 51}, {'y': 71, 'x': 35}]
[{'y': 71, 'x': 35}, {'y': 95, 'x': 41}]
[{'y': 95, 'x': 41}, {'y': 88, 'x': 72}]
[{'y': 88, 'x': 72}, {'y': 75, 'x': 77}]
[{'y': 25, 'x': 23}, {'y': 15, 'x': 39}]
[{'y': 15, 'x': 39}, {'y': 20, 'x': 33}]
[{'y': 85, 'x': 61}, {'y': 80, 'x': 67}]
[{'y': 80, 'x': 67}, {'y': 61, 'x': 59}]
[{'y': 61, 'x': 59}, {'y': 45, 'x': 45}]
【问题讨论】:
-
您的列是字符串还是实际上是列表类型,每个列表中有 2 个字典?
-
df['col'].apply(lambda x: [i.values() for i in x])怎么样 -
好吧,我正在使用 spyder,通过变量资源管理器,我选择了整个列,然后右键单击 -> 到 str,我想它已转换为字符串
-
“我尝试使用字符串提取” - 我们可以看到您的代码,编辑成问题吗?谢谢!
-
@anky_91 我得到:AttributeError: 'str' object has no attribute 'values'
标签: python string pandas design-patterns extract