Skip to content

Instantly share code, notes, and snippets.

View ki-chi's full-sized avatar

Kiichi ki-chi

  • Tokyo, Japan
  • 06:49 (UTC +09:00)
View GitHub Profile
@ki-chi
ki-chi / melt_columns.py
Created August 6, 2021 16:37
Melt hierarchal columns of pandas dataframe
def melt_columns(df: pd.DataFrame, sep: str="_") -> pd.DataFrame:
"""与えられたデータフレームの列がMultiIndexの場合にそれを非階層なIndexにして返す.
Arguments:
df (pd.DataFrame) : 列を非階層にしたいデータフレーム.
sep (str) : 新たな列名を作るときにセパレーターとして使われる文字列. デフォルトでは"_".
Return:
pd.DataFrame : 列名が非階層なIndexとなっているデータフレーム
@ki-chi
ki-chi / pandas_parquet.dockerfile
Created June 30, 2022 17:30
pd.read_parquet()の挙動の確認用
FROM python:3.10
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir pandas==1.4.3 pyarrow==8.0.0 fastparquet==0.8.1
@ki-chi
ki-chi / pandas_coalesce.py
Last active September 7, 2022 11:20
coalesce function by pandas
import pandas as pd
def coalesce(df: pd.DataFrame, *args) -> pd.Series:
return df[list(args)].bfill(axis=1).iloc[:, 0]
@ki-chi
ki-chi / add_if_not_found.jl
Created March 19, 2023 06:48
Juliaでパッケージがインストールされていなければインストールする
using Pkg
function add_if_not_found(packages)
installed = [dep.name for (_, dep) in Pkg.dependencies() if dep.is_direct_dep]
targets = []
for pkg in packages
pkg in installed || push!(pkg, targets)
end
isempty(targets) || Pkg.add(targets)
end