1
У меня есть следующие панды серии упорядоченных координат точки:Панды агрегат упорядоченный координаты точки
>>> import pandas as pd
>>> d=pd.Series([(1,1),(2,2),(3,4),(4,6)])
>>> d
0 (1, 1)
1 (2, 2)
2 (3, 4)
3 (4, 6)
dtype: object
>>>
Я хочу создать серию отрезков, образованных этими точками. В этом случае будет 3 отрезка (между точками 0 и 1, 1 и 2 и 2 и 3.
Я могу создать это ниже, объединив оригинальную серию со своей «сдвинутой» версией, избавившись первого значение нуля, а затем применяя функцию двух колонок.
>>> pd.concat([d.shift(),d],1).dropna().apply(lambda x:tuple([x[0], x[1]]),1)
1 ((1, 1), (2, 2))
2 ((2, 2), (3, 4))
3 ((3, 4), (4, 6))
dtype: object
>>>
есть ли лучший подход, чтобы сделать это?
очень хорошее решение. – jezrael
@jezrael tyvm :-) – piRSquared
Ницца. Поскольку 'zip' отключается, когда кратчайший итерируемый исчерпан, вы можете сохранить несколько символов, сделав первую запись просто' d'. Тем не менее, это немного менее очевидно. – root