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'])
Esempio n. 2
0
    # メッシュ番号が-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()
Esempio n. 3
0
    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'])