この動画では、SeriesやDataFrameの特定の列や行、あるいは特定の条件に一致するデータを抽出する方法について説明します。初心者の方でもわかりやすいように丁寧な解説を心がけました。目次は下記になります。
▼目次
00:00 はじめに
01:20 Pandasのインポート
01:39 表示する列数・行数を変更
02:24 データフレームの読み込み
03:00 インデックス番号の振り直し
03:38 DataFrameをスライスでデータ抽出
05:07 Seriesをスライスでデータ抽出
05:41 列名を指定したDataFrameをスライスでデータ抽出
06:47 条件に一致する行のみデータ抽出
07:34 条件に一致する行のみデータ抽出(文字列)
07:59 条件に一致する行のみデータ抽出(10の倍数)
08:48 条件に一致しない行のみデータ抽出(Not演算子)
09:11 条件に一致しない行のみデータ抽出(不等価演算子)
09:32 and条件
09:58 or条件
11:04 特定の条件でデータ抽出するqueryメソッド
12:53 特定の条件でデータ抽出するqueryメソッド(or条件)
13:16 特定の条件でデータ抽出するqueryメソッド(and条件)
13:37 特定の値に一致するデータ抽出するisinメソッド
14:15 特定の値に一致するデータ抽出するisinメソッド(複数条件)
14:31 特定の値を含むデータを抽出するcontainsメソッド
16:03 特定の値から始まるデータを抽出するstartswithメソッド
16:21 特定の値から始まるデータを抽出するendswithメソッド
16:34 maxメソッドを使ったデータ抽出
17:05 locメソッドを使ったデータ抽出
17:46 確認問題
▼訂正
05:14 誤)Pandas4 Series ➡ 正)pandas5 Series
▼自己紹介
現在:フリーランス(マーケティング関連の人工知能開発、データ分析や業務自動化などの開発 & コンサルティング)
前職:リクルート
▼SNS
Twitter : https://twitter.com/kino_code/likes
Facebook : https://www.facebook.com/%E3%82%AD%E3%83%8E%E3%82%B3%E3%83%BC%E3%83%89-105693727500005/
Website : https://kino-code.com/
▼書き起こしブログ
この動画では、DataFrameの特定の列や行、あるいは、特定の条件に一致するデータを抽出する方法を学んでいきます。
データの前処理や分析をする時、特定の行や条件に一致したものだけを抽出したい場面が多くあると思います。
この動画では、色々なデータ抽出の方法をみていきますなので、この動画の内容を習得すれば、さまざまなデータ抽出の場面で役に立つでしょう。
また、Pythonはプログラミング言語などでカスタマイズが可能、できないデータ抽出はないといっても過言ではないでしょう。
さらに、前のレッスンで学んだエクセルのデータを取り込んだり、Databaseと接続をしてデータ抽出を自動化しても良いでしょう。
頑張って最後までご視聴ください。
読み込む前の準備として概要欄に記載したキノコードのサイトにCSVファイルを用意しています。
それをダウンロードして、学習用のJupyter Labを保存しているフォルダにに保存してください。
それではパソコン画面に切り替えてレッスンを進めていきましょう。
Pandasインポート
import pandas as pd
それでは、Pandasをインポートするところから始めていきましょう。
まず、Pandasをインポートする記述を書きます。
「import pandas as pd」を書きます。
「as」は、ライブラリ名(pandas)を好きな名前で使うことができます。
したがって、この記述により「pandas」を「pd」という名前で使うことができます。
エラーにならず、インポートが完了しました。
表示する列数・行数を変更
pd.set_option(‘display.max_columns’, None) # 最大表示列数
pd.set_option(‘display.max_rows’, 5) # 最大表示行数
次に、表示する列数・行数を変更します。
データフレームでは、列のことをcolumn、行のことをrowといいます。
今回は表示させる列数は制限なし、行数を5と設定します。
「pd.set_option」を書きます。
次に、丸括弧を書いて、シングルクォーテーションを書きます。
シングルクォーテーションの中に、「display」を書いて、ドット、「max_columns」と書きます。
最後に、表示させる列数を書きます。今回は制限なしなのでNoneとします。
行数の記述も同様に、先ほどの列数の記述の「max_columns」の箇所を「max_rows」に置き換えて記述すればOKです。行数は5としましょう。
データフレームの読み込み
df = pd.read_csv(‘data.csv’,encoding=’shift-jis’)
df
続いてレッスンで使うデータを説明します。
このレッスンでも、今までのレッスンで使った、政府が発表している「1920年から2015年までの全国の人口推移のデータ」を使います。
csvファイルには、和暦や西暦ごと、各都道府県ごとに人口推移のデータが記述されています。
read_csv関数を使って、csvファイルを読み込みます。
read_csv関数の使い方を忘れた方は、レッスン06を復習してください。
それでは、実行してみましょう。
csvファイルを読み取ることができました。
インデックス番号の振り直し
df.index = df.index + 1
df
次に、レッスンをわかりやすくするためにインデックス番号を振ります
indexを使って列に番号を振り直しましょう。
indexは0始まり、0,1,2,3と増えていきます。したがって、すべてのインデックスに1を足せば、1,2,3,4というインデックスになります。
df.indexと書いて、プラスを書いて1を書きます。これですべてのインデックスに1が足せます。
これを再度、df.indexに代入をします。
結果を見てみましょう。
列の一番左にインデックス番号が1から順に振られました。
※続きは文字書き起こしブログで
▼文字書き起こしブログ
https://kino-code.com/pandas_course_data_extraction/
#Pandas #使い方 #入門
▼お仕事のお問い合わせ
キノコードでは、仕事の自動化の開発業務&コンサルティング業務のみを現在受け付けております。
お問い合わせ先かTwitterのDMか、「キノコードトップページ→概要」にあるメールアドレスまでお問い合わせください。
コメント
確認問題なんですが、
①は制限無しなので
pd.set_option(‘display.max_rows’, None)
②は156行目までなので
df[150:156]
にしたんですが違うんですかね…
いつも動画、参考にさせていただいています。
書き起こしブログがかなりの高確率で詐欺サイトに遷移してしまうのを改善していただきたいです…毎度、複数回の開閉をしなければ本来のサイトに飛べないです…。
csvをどこからダウンロードできるのかがよくわからず、すいません、教えていただけると助かります