Итак, у меня есть набор данных, который выглядит следующим образом:
x0 y0 x1 y1 x2 y2
0 0 5 1 5 1 4
1 1 5 1 4 2 4
2 1 4 2 4 2 3
3 2 4 2 3 3 3
4 2 3 3 3 3 2
Это я собрал, читая csv, который выглядит следующим образом:
x0 y0 x1 y1 x2 y2 x5 y5
0 0 5 1 5 1 4 3 3
1 1 5 1 4 2 4 3 2
2 1 4 2 4 2 3 4 2
3 2 4 2 3 3 3 4 1
4 2 3 3 3 3 2 5 1
И мне нужен список, который объединяет каждый в отдельный подсписок, вот так:
list = [[[0, 5], [1, 5], [1, 4]],
[[1, 5], [1, 4], [2, 4]], ...]
Я не могу найти простой способ для этого в остальной части StackOverflow, и мне интересно, есть ли вообще простой способ сделать это . Любая помощь приветствуется!
То, что я пробовал до сих пор, - это просто преобразовать его в список, а затем перебрать его и добавить каждые два элемента в новый список, например:
path_df = pd.read_csv("data/preprocessed_data.csv", sep="\t", index_col=0)
X_points = path_df[["x0", "y0", "x1", "y1", "x2", "y2"]].values.tolist()
X = []
for x in X_points:
p1 = [x[0], x[1]]
p2 = [x[2], x[3]]
p3 = [x[4], x[5]]
row = [p1, p2, p3]
X.append(row)
print(X[:10])
Это дает мне желаемый результат, но не очень pythoni c.