#arrays #python-3.x #pandas #numpy #dataframe
#массивы #python-3.x #pandas #numpy #фрейм данных
Вопрос:
Я хочу создать многомерный массив из фрейма данных, который содержит более 60 000 строк.
Фрейм данных:
latitude_1 longitude_1 latitude_2 longitude_2
40.781855 -73.877439 43.689741 -79.581691
40.780243 -73.874084 27.959553 -82.542491
40.781982 -73.878113 33.649540 -84.401093
Я хочу создать массив с таким форматом (используя Python): [ [[lat1,lon1], [lat2,lon2]], [[lat1,lon1], [lat2,lon2]], [[lat1,lon1], [lat2,lon2]] ]
Есть ли способ сделать это? Я пытался и искал, но не смог найти что-то, что может разделить строку на два массива или что-то в этом роде.
Любая помощь будет оценена!
Ответ №1:
Здесь можно использовать обычный цикл for, это работает, но если количество строк очень велико, оно становится очень медленным.
new_list = []
for i in range(len(df1)):
new_list.append([[df1["latitude_1"][i],df1["longitude_1"][i]],[df1["latitude_2"][i],df1["longitude_2"][i]]])
Это будет быстрее, чем использование цикла for
new_list = df.values.ravel()
new_list.reshape(len(df),2,2)
Комментарии:
1. @Sanya Если фрейм данных очень большой, вы можете использовать функцию изменения формы, которую я отредактировал и добавил 🙂