Source code for get_data
import os
import random
from typing import List
import numpy as np
import pandas as pd
from tqdm import tqdm
[docs]def fix_random_seed(seed: int = 42) -> None:
"""
乱数のシードを固定する。
Parameters
----------
seed : int
乱数のシード。
"""
os.environ['PYTHONHASHSEED'] = str(seed)
random.seed(seed)
np.random.seed(seed)
[docs]def get_unique_list(df: pd.DataFrame, col: str) -> np.ndarray:
"""
指定した pandas.DataFrame のカラムの unique なリストを、
昇順にソートしたものを返す。
Parameters
----------
df : pandas.DataFrame
目的の表。
col : str
目的のカラム名。
Returns
-------
unique_list : numpy.ndarray
指定した pandas.DataFrame のカラムの unique なリストを、
昇順にソートしたもの。
"""
unique_list = df[col].unique()
unique_list.sort()
return unique_list
[docs]def get_ididx_mjdcols_dataframe(
df: pd.DataFrame, df_source: pd.DataFrame) -> pd.DataFrame:
"""
df_source の unique な objectid を index、mjd を columns とした
pandas.DataFrame を作成し、df の m_ap30 の値を埋めたものを返す。
Parameters
----------
df : pandas.DataFrame
埋める m_ap30 の値を保持した表。
df_source : pandas.DataFrame
返り値の index となる objectid と、columns となる mjd を保持した表。
Returns
-------
df_return : pandas.DataFrame
df_source の unique な objectid を index、mjd を columns とした
pandas.DataFrame で、df の m_ap30 の値を埋めたもの。
"""
list_id = get_unique_list(df_source, 'objectid')
list_mjd = get_unique_list(df_source, 'mjd')
df_return = pd.DataFrame(index=list_id, columns=list_mjd)
df_reset_idx = df.reset_index(drop=True)
print('\nget_ididx_mjdcols_dataframe\n')
for i in tqdm(range(len(df_reset_idx))):
idx = df_reset_idx.at[i, 'objectid']
col = df_reset_idx.at[i, 'mjd']
df_return.at[idx, col] = df_reset_idx.at[i, 'm_ap30'].round(3)
return df_return