【Python】pandasで行,列を指定して抽出する
最近,データサイエンスをやっていて,pandasを久しぶりに使っています.
その都度,調べるのが面倒なので,ここにメモしておきます.
今回はちょっと特殊なデータセットを使っています.
リンクは下に貼っておきます.
このxHamsterのJSONデータを利用しました.
JSONデータセットの読み込み
まずはデータセットをpandasのread_json()
関数で読み込みます.
実行結果も一緒に示します.
import os import numpy as np import pandas as pd import matplotlib.pyplot as plt %matplotlib inline DATASET_DIR = '/data' path = os.path.join(DATASET_DIR, 'xhamster.json') xhamster_dataset = pd.read_json(path) xhamster_dataset.info() xhamster_dataset.head() # いい感じにデータを表示
行でデータ抽出
早速データを抽出してみましょう.
今回はコンテンツのタグ情報に当たるchannels
の行だけを抽出します.
pandas.DataFrame.loc
で行ラベルを指定してデータを取り出すことができます.
列方向も同じようにラベル指定で取り出せます.
tags = xhamster_dataset.loc['channels'] print(tags)
pandasには,loc
,iloc
,ix
などがありますが,
これらの違いをわかりやすく解説したサイトが以下になります.