Cómo extraer los números de secuencia utilizando un patrón?

melo777:

Tengo las siguientes filas de diez en una trama de datos pandas. Quiero extraer las coordenadas como en [49,49], [31,78] etc. (para cada fila).

He intentado utilizar el extracto de cadena, pero no pude averiguar el patrón.

Esto es lo que he intentado. No estoy seguro de entender cómo funciona esto, sin embargo:

b es la trama de datos y posiciones es la columna

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}]


Valdi_Bo:

Trate str.extractall y grupos de captura con nombre. Suponiendo que la columna de la fuente de la celebración de sus cuerdas se llama col1 , el código es:

df.col1.str.extractall(r"'y': (?P<y>\d+), 'x': (?P<x>\d+)")

Para los datos de la muestra, el resultado es:

           y   x
   match        
0  0      49  49
   1      78  31
1  0      78  31
   1      75  51
2  0      75  51
   1      71  35
3  0      71  35
   1      95  41
4  0      95  41
   1      88  72
5  0      88  72
   1      75  77
6  0      25  23
   1      15  39
7  0      15  39
   1      20  33
8  0      85  61
   1      80  67
9  0      80  67
   1      61  59
10 0      61  59
   1      45  45

El primer nivel en el MultiIndex del resultado (sin nombre) es el índice de la fila de origen. El segundo nivel (llamado partido ) es el número de la altura de la fila actual, a partir de 0 .

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=376912&siteId=1
Recomendado
Clasificación