gpt4 book ai didi

python - Pandas 聚合有序点坐标

转载 作者:行者123 更新时间:2023-11-30 22:45:42 28 4
gpt4 key购买 nike

我有以下 pandas 系列的有序点坐标:

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

有更好的方法吗?

最佳答案

我喜欢使用 zip 来实现此目的

pd.Series(list(zip(d.values[:-1], d.values[1:])))

0 ((1, 1), (2, 2))
1 ((2, 2), (3, 4))
2 ((3, 4), (4, 6))
dtype: object

关于python - Pandas 聚合有序点坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41130618/

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