合理主義的グルメブログ

学生起業家の日常をツラツラと書いています。主に食事情報です。

【Python】pandasで行,列を指定して抽出する

最近,データサイエンスをやっていて,pandasを久しぶりに使っています.
その都度,調べるのが面倒なので,ここにメモしておきます.

今回はちょっと特殊なデータセットを使っています.
リンクは下に貼っておきます.

Sexualitics :: Datasets

この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()  # いい感じにデータを表示

f:id:GoKIDS:20181126160800p:plain

行でデータ抽出

早速データを抽出してみましょう.
今回はコンテンツのタグ情報に当たるchannelsの行だけを抽出します.

pandas.DataFrame.locで行ラベルを指定してデータを取り出すことができます.
列方向も同じようにラベル指定で取り出せます.

tags = xhamster_dataset.loc['channels']
print(tags)

f:id:GoKIDS:20181126162137p:plain

pandasには,locilocixなどがありますが,
これらの違いをわかりやすく解説したサイトが以下になります.

ailaby.com