123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- import pandas as pd
- import numpy as np
- def data_time_align(base_time, df):
-
- if df.empty:
- return df
-
- new_sim_time_values = np.arange(0, base_time.max() + 0.01, 0.01)
-
- original_to_new_sim_time = {original: new_sim_time_values[i] for i, original in enumerate(base_time)}
-
- filtered_df = df[(df['simTime'].isin(base_time)) & (df['simFrame'] > 0)].reset_index(drop=True)
-
- filtered_df['simTime'] = filtered_df['simTime'].map(original_to_new_sim_time)
-
- filtered_df['simFrame'] = (filtered_df['simTime'] * 100 + 1).round().astype(int)
- print("Alignment over.")
- return filtered_df
- if __name__ == '__main__':
- df_ego1 = pd.read_csv('EgoState.csv')
- df_ego = df_ego1[(df_ego1['simFrame'] % 10 == 0) & (df_ego1['simFrame'] > 0)].copy()
-
- base_time = df_ego['simTime'].unique()
- df_1 = pd.read_csv('DriverCtrl.csv')
- df_2 = pd.read_csv('LaneInfo.csv')
-
- result_1 = data_time_align(base_time, df_1)
- result_2 = data_time_align(base_time, df_2)
-
- print(1)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
|