• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

pandas loc

date: 2021-01-03 excerpt: pandas locのチートシート

tag: pythonpandasチートシート


pandas locのチートシート

概要

  • dataframeにはindexとカラム名を指定して操作するlocというメソッドが存在する
  • locでは指定したindexのアクセス以外にも、代入やapplyもサポートしている

具体例

import pandas as pd
import numpy as np

df = pd.DataFrame({"v": np.random.random(1000)})
# vが0.5より大きいindexを取り出す
index = df.query("v > 0.5").index

# vが0.5より大きい箇所に"p"というカラムを新設
# 0.1が代入されていない0.5以下のrowには"NaN"が入る
df.loc[index, "p"] = 0.1

# pに0.1を加える
# pがNaNのとき、足し算は行われない
df["p"] += 0.1

# vが0.5より大きいrowにたいしてpを引数にapply
df.loc[index, "p"].apply(lambda x: "nanです" if np.isnan(x) else x + 0.1))

# 代入も可能である
df.loc[index, "p"] = df.loc[index, "p"].apply(lambda x: "nanです" if np.isnan(x) else x + 0.1)

テンプレート

index同士の結合

  • pd.concatでは結合できない
  • np.hstack([index1, index2, ...])で結合する

Google Colab

  • pandas-loc


pythonpandasチートシート Share Tweet