对于 pandas 数据框中的每一行,使用不同的计算创建 4 个新行

问题描述 投票:0回答:1

我想将宽度和深度尺寸转换为多边形的 4 个角。 这意味着我应该从具有宽度和深度尺寸的 1 行变为每个角具有 X、Y 坐标的 4 行。

在 Python 中使用 pandas 数据框执行此操作的好方法是什么?

我尝试手动创建每一行并附加 apply (4 个应用函数),但我知道一定有一个更优雅的解决方案。

我有一个 Pandas 数据框,如下所示:

W D
100 150
125 170

我想要一个看起来像这样的:

X
0 0
0 150
100 0
100 150
0 0
0 170
125 0
125 170

谢谢!

python pandas dataframe jupyter apply
1个回答
0
投票

此代码可能对您有帮助:

>>> from itertools import product
>>>
>>> list1 = [0, 0, 0, 0]
>>> list2 = [75, 100, 125, 150]
>>>
>>> combinations = list(product(list1, list2))
>>> for combination in combinations:
...     print(combination)
...
(0, 75)
(0, 100)
(0, 125)
(0, 150)
(0, 75)
(0, 100)
(0, 125)
(0, 150)
(0, 75)
(0, 100)
(0, 125)
(0, 150)
(0, 75)
(0, 100)
(0, 125)
(0, 150)
>>>

我认为先进行计算,然后将条目放入 pandas 数据框中更容易。

© www.soinside.com 2019 - 2024. All rights reserved.