#python #pandas
#python #pandas
Вопрос:
Мне нужно отформатировать фрейм данных pandas для следующего вида данных
Проблема: я не могу сформулировать данные, как показано в следующей строке, и я получаю много ошибок и исключений.
Моя основная проблема, которую я не могу понять, как добавить, например, из ID 1 значение и для id 1 другое значение в отсортированном фрейме данных pandas
s = """
,trajectory_id,x ,y ,frame
0,1 ,0 ,-2,0
1,1 ,0 ,-1,1
2,1 ,0 ,0 ,2
3,1 ,0 ,1 ,3
4,2 ,2 ,2 ,4
5,2 ,1 ,1 ,5
6,2 ,0 ,0 ,6
7,2 ,-1,-1,7
"""
X, Y указаны для идентификатора объекта, frame — это инкрементная переменная
КАЖДЫЙ ФРЕЙМ, который я обнаруживаю, и получаю новые координаты объекта с его идентификатором отслеживания
dic_car_lists = defaultdict(list)
trk = trk.astype(np.int32) ## trck is TRAJECTORY_ID
p = np.array([[((trk[1] trk[3]) / 2, (trk[0] trk[2]) / 2)]], dtype=np.float32)
center_pt = cv2.perspectiveTransform(p, H)
point_lists[trk[4]].append(center_pt.T)
x = [i[0] for i in point_lists[trk[4]]]
y = [i[1] for i in point_lists[trk[4]]]
x = list(map(lambda dd: float(dd[0]),x))
y = list(map(lambda dd: float(dd[0]),y))
dic_car_lists[trk[4]].append([trk[4], x, y, frame_idx])
def compute(data,df_region, df_line):
gb = ('trajectory_id',)
card_data = np.array(data)
columns = ['trajectory_id', 'x_world', 'y_world', 'frame']
car_d[card_data[0]].append(data)
df = pd.DataFrame(list(car_d.items()),
columns=columns)
compute( dic_car_list[trk[4]], df_region, df_line )
Комментарии:
1.
append for example from ID 1, a value, and for id 1, another value
что? Пожалуйста, не могли бы вы лучше объяснить, что вы пытаетесь сделать2. пожалуйста, приведите наглядный пример ввода данных и того, какие данные на выходе вы хотите получить. Правильно отформатируйте свой код и объясните, что не так с кодом, который у вас есть сейчас, иначе вам трудно помочь.
3. @yatu как вы видите в строке примера, идентификатор 1 имеет X, Y, а затем ID1 имеет другой X, Y. Итак, я хочу добавить идентификатор траектории каждого фрейма с его значением X, Y в panadas dataframe