index = 0 for time in range(env.MAX_TIME_COUNT()): for area in range(env.MAX_AREA_COUNT()): people_dataframe.loc[index, ['time', 'area']] = [[3600 * (time + 1), area]] index += 1 return people_dataframe def main(args): df_read = pd.read_csv(get_read_path() + env.get_file_name(args), encoding='Shift_JISx0213', dtype=None, delimiter=',') start = time.time() output = distribute_people(df_base.copy(), df_read) output.to_csv(get_write_path() + env.get_file_name(args), index=False) print(env.get_file_name(args)) elapsed_time = time.time() - start print("elapsed_time:{0}".format(elapsed_time) + "[sec]") if __name__ == '__main__': df_base = create_people_dataframe() env.for_default(main, ['mobile', 'census'])
# メッシュ番号が-1以外、つまり範囲外の行を削除(範囲内のみ抽出) reader = reader[reader['area'] != -1] reader.to_csv(get_write_path('Origin') + env.get_file_name(args), index=None, encoding='Shift_JISx0213') print(env.get_file_name(args)) # Scenargieのoutput dataがあるPCで実行すること if __name__ == '__main__': if check_write_dir(env.ROOT_DIR()): make_area_mesh() columns = ['id', 'type', 'is_arrived', 'time', 'road', 'x', 'y'] env.for_default(main) # od.csvはコピーでOneDriveへ移動 args = env.get_for_list() for _dir in args.dir: for _ratio in args.ratio: for _seed in args.seed: _args = env.ARGS_FOR_LIST(_dir, _ratio, _seed, 'od') shutil.copyfile( get_read_path(_args), get_write_path('Origin') + env.get_file_name(_args)) print(env.get_file_name(_args)) else: print('プログラムを終了します') sys.exit()
df = df.apply(lambda x: extract_only_area(x), axis=1) # df.iloc[:, 3:] = df.iloc[:, 3:].applymap(lambda x: road_to_area[x]) # df = df[df.loc[:, 'c03'] >= 0] # dfT = df.T # dfT = dfT.apply(remove_and_fill_none_area) # df = dfT.T # df.reset_index(drop=True, inplace=True) # # df = pd.concat([df_id, df], axis=1) # df = df.rename(columns={'c00': 'id'}) # df = df.sort_values(['id']) # df = df.drop(['c01', 'c02'], axis=1) # # df.replace(' ', np.NaN, inplace=True) # df.dropna(how='all', axis=1, inplace=True) df = df.applymap(lambda x: (x.split('(census)')[0]) if (type(x) is str) and ('(census)' in x) else x) for _area in env.get_area_list(): df_area = create_next_move_area(df.copy(), _area) df_area.to_csv(env.get_full_path(write_dir_name, args, any=_area), index=False) if __name__ == '__main__': if not env.check_write_dir(write_dir_name): print('プログラムを終了します') sys.exit() env.for_default(func_road_to_area, csv=['census']) env.for_default(main, csv=['od'])