我有一个坐标为x0,y0,x1,y1的数据框。我正在尝试获取坐标列表
datafrme就像-
x0 y0 x1 y1 x2 y2 ...
1 179.0 77.0 186.0 93.0 165.0 91.0...
2 178.0 76.0 185.0 93.0 164.0 91.0...
所需的输出
[ [ [179.0,77.0], [186.0,93.0], [165.0,91.0 ],... ],
[ [178.0,76.0 ],[185.0,93.0 ],[164.0,91.0 ] ,... ]
]
我正在尝试按行获取坐标列表
我已经尝试过
df = pd.read_csv(path,header=None)
df.reset_index(drop=True, inplace=True)
data = df.values.tolist()
感谢您提供任何见解!
答案 0 :(得分:1)
[[[y['x0'], y['y0']], [y['x1'], y['y1']], [y['x2'], y['y2']]]for x,y in df.iterrows()]
df这将是您的数据框
输出看起来像您描述的格式
[ [ [179.0,77.0], [186.0,93.0], [165.0,91.0 ],... ],
[ [178.0,76.0 ],[185.0,93.0 ],[164.0,91.0 ] ,... ]
]
答案 1 :(得分:1)
如果性能很重要,请使用reshape
:
a = len(df.columns)
b = len(df)
L = df.values.reshape(b, a).reshape(b, a // 2, 2).tolist()
print (L)
[[[179.0, 77.0], [186.0, 93.0], [165.0, 91.0]],
[[178.0, 76.0], [185.0, 93.0], [164.0, 91.0]]]