tag:crieit.net,2005:https://crieit.net/magazines/aocory/pandas%E5%85%A5%E9%96%80/feed [連載] pandas入門の投稿 - Crieit Crieitで連載「[連載] pandas入門」の最近の投稿 2019-03-04T09:51:28+09:00 https://crieit.net/magazines/aocory/pandas%E5%85%A5%E9%96%80/feed tag:crieit.net,2005:PublicArticle/14856 2019-03-04T09:51:28+09:00 2019-03-04T09:51:28+09:00 https://crieit.net/posts/pandas-columns pandas入門 .columnsでカラムの確認を行う <h2 id="データをいろいろ扱いたい"><a href="#%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E3%81%84%E3%82%8D%E3%81%84%E3%82%8D%E6%89%B1%E3%81%84%E3%81%9F%E3%81%84">データをいろいろ扱いたい</a></h2> <p>pandasには、データを扱うための色々な便利な関数があります。<br /> 今回は.columnsを使ってpandasのデータフレームのインデックスについて確認したいと思います。</p> <h2 id="元となるデータ"><a href="#%E5%85%83%E3%81%A8%E3%81%AA%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF">元となるデータ</a></h2> <p>元となるデータはCrieitさんのタイトル一覧です。</p> <pre><code>from bs4 import BeautifulSoup import requests import pandas as pd columns = ['title'] df = pd.DataFrame(columns=columns) base_url = "https://crieit.net/posts?page=" num = 1 while num <= 1: url=base_url+ str(num) r = requests.get(url) soup = BeautifulSoup(r.text) titles =soup.select("h5 a") if len(titles) == 0: print("これ以上記事はありません") break num += 1 for title in titles: se= pd.Series(title.text, columns) df = df.append(se, ignore_index=True) df </code></pre> <h2 id=".columns"><a href="#.columns">.columns</a></h2> <p>.columnsを使うことでデータフレームのインデックスデータを簡単に取得できます。<br /> printなどと併せて使用したりすると思われます。</p> <h2 id="出来たコード"><a href="#%E5%87%BA%E6%9D%A5%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89">出来たコード</a></h2> <pre><code>from bs4 import BeautifulSoup import requests import pandas as pd columns = ['title'] df = pd.DataFrame(columns=columns) base_url = "https://crieit.net/posts?page=" num = 1 while num <= 1: url=base_url+ str(num) r = requests.get(url) soup = BeautifulSoup(r.text) titles =soup.select("h5 a") if len(titles) == 0: print("これ以上記事はありません") break num += 1 for title in titles: se= pd.Series(title.text, columns) df = df.append(se, ignore_index=True) print(df.columns) </code></pre> <h2 id="出力サンプル"><a href="#%E5%87%BA%E5%8A%9B%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB">出力サンプル</a></h2> <pre><code>Index(['title'], dtype='object') </code></pre> <h2 id="動くサンプル"><a href="#%E5%8B%95%E3%81%8F%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB">動くサンプル</a></h2> <p><a target="_blank" rel="nofollow noopener" href="https://colab.research.google.com/drive/1slyp9ssiahsR9TSiOGr7i8KPUxTXcU_z">Python3</a></p> aocory tag:crieit.net,2005:PublicArticle/14855 2019-03-04T09:50:14+09:00 2019-03-04T09:50:14+09:00 https://crieit.net/posts/pandas-index pandas入門 .indexでインデックスを調べる <h2 id="データをいろいろ扱いたい"><a href="#%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E3%81%84%E3%82%8D%E3%81%84%E3%82%8D%E6%89%B1%E3%81%84%E3%81%9F%E3%81%84">データをいろいろ扱いたい</a></h2> <p>pandasには、データを扱うための色々な便利な関数があります。<br /> 今回は.indexを使ってpandasのデータフレームのインデックスについて確認したいと思います。</p> <h2 id="元となるデータ"><a href="#%E5%85%83%E3%81%A8%E3%81%AA%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF">元となるデータ</a></h2> <p>元となるデータはCrieitさんのタイトル一覧です。</p> <pre><code>from bs4 import BeautifulSoup import requests import pandas as pd columns = ['title'] df = pd.DataFrame(columns=columns) base_url = "https://crieit.net/posts?page=" num = 1 while num <= 1: url=base_url+ str(num) r = requests.get(url) soup = BeautifulSoup(r.text) titles =soup.select("h5 a") if len(titles) == 0: print("これ以上記事はありません") break num += 1 for title in titles: se= pd.Series(title.text, columns) df = df.append(se, ignore_index=True) df </code></pre> <h2 id=".index"><a href="#.index">.index</a></h2> <p>.indexを使うことでデータフレームのインデックスデータを簡単に取得できます。<br /> printなどと併せて使用したりすると思われます。</p> <h2 id="出来たコード"><a href="#%E5%87%BA%E6%9D%A5%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89">出来たコード</a></h2> <pre><code>from bs4 import BeautifulSoup import requests import pandas as pd columns = ['title'] df = pd.DataFrame(columns=columns) base_url = "https://crieit.net/posts?page=" num = 1 while num <= 1: url=base_url+ str(num) r = requests.get(url) soup = BeautifulSoup(r.text) titles =soup.select("h5 a") if len(titles) == 0: print("これ以上記事はありません") break num += 1 for title in titles: se= pd.Series(title.text, columns) df = df.append(se, ignore_index=True) print(df.index) </code></pre> <h2 id="出力サンプル"><a href="#%E5%87%BA%E5%8A%9B%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB">出力サンプル</a></h2> <pre><code>RangeIndex(start=0, stop=20, step=1) </code></pre> <h2 id="動くサンプル"><a href="#%E5%8B%95%E3%81%8F%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB">動くサンプル</a></h2> <p><a target="_blank" rel="nofollow noopener" href="https://colab.research.google.com/drive/1slyp9ssiahsR9TSiOGr7i8KPUxTXcU_z">Python3</a></p> aocory tag:crieit.net,2005:PublicArticle/14853 2019-03-03T08:54:39+09:00 2019-03-03T08:54:39+09:00 https://crieit.net/posts/pandas-shape pandas入門 .shapeで列数と行数を調べる <h2 id="データをいろいろ扱いたい"><a href="#%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E3%81%84%E3%82%8D%E3%81%84%E3%82%8D%E6%89%B1%E3%81%84%E3%81%9F%E3%81%84">データをいろいろ扱いたい</a></h2> <p>pandasには、データを扱うための色々な便利な関数があります。<br /> 今回は.shapeでpandasのデータフレームの列数と行数を調べたいと思います。</p> <h2 id="元となるデータ"><a href="#%E5%85%83%E3%81%A8%E3%81%AA%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF">元となるデータ</a></h2> <p>元となるデータはCrieitさんのタイトル一覧です。</p> <pre><code>from bs4 import BeautifulSoup import requests import pandas as pd columns = ['title'] df = pd.DataFrame(columns=columns) base_url = "https://crieit.net/posts?page=" num = 1 while num <= 1: url=base_url+ str(num) r = requests.get(url) soup = BeautifulSoup(r.text) titles =soup.select("h5 a") if len(titles) == 0: print("これ以上記事はありません") break num += 1 for title in titles: se= pd.Series(title.text, columns) df = df.append(se, ignore_index=True) df </code></pre> <h2 id=".shape"><a href="#.shape">.shape</a></h2> <p>.shapeを使うことでデータフレームの行数、列数を簡単に取得できます。<br /> printなどと併せると効果的です。</p> <h2 id="出来たコード"><a href="#%E5%87%BA%E6%9D%A5%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89">出来たコード</a></h2> <pre><code>from bs4 import BeautifulSoup import requests import pandas as pd columns = ['title'] df = pd.DataFrame(columns=columns) base_url = "https://crieit.net/posts?page=" num = 1 while num <= 1: url=base_url+ str(num) r = requests.get(url) soup = BeautifulSoup(r.text) titles =soup.select("h5 a") if len(titles) == 0: print("これ以上記事はありません") break num += 1 for title in titles: se= pd.Series(title.text, columns) df = df.append(se, ignore_index=True) print(df.shape) </code></pre> <h2 id="動くサンプル"><a href="#%E5%8B%95%E3%81%8F%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB">動くサンプル</a></h2> <p><a target="_blank" rel="nofollow noopener" href="https://colab.research.google.com/drive/1slyp9ssiahsR9TSiOGr7i8KPUxTXcU_z">Python3</a></p> aocory tag:crieit.net,2005:PublicArticle/14852 2019-03-03T08:44:30+09:00 2019-03-03T08:44:52+09:00 https://crieit.net/posts/pandas-tail pandas入門 .tail()で末尾から要素を抜き出す <h2 id="データをいろいろ扱いたい"><a href="#%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E3%81%84%E3%82%8D%E3%81%84%E3%82%8D%E6%89%B1%E3%81%84%E3%81%9F%E3%81%84">データをいろいろ扱いたい</a></h2> <p>pandasには、データを扱うための色々な便利な関数があります。<br /> 前回はheadで任意の要素を頭からとってきました。<br /> 今回はスクレイピングデータから末尾から任意の要素を抜き出します。</p> <h2 id="元となるデータ"><a href="#%E5%85%83%E3%81%A8%E3%81%AA%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF">元となるデータ</a></h2> <p>元となるデータはCrieitさんのタイトル一覧です。</p> <pre><code>from bs4 import BeautifulSoup import requests import pandas as pd columns = ['title'] df = pd.DataFrame(columns=columns) base_url = "https://crieit.net/posts?page=" num = 1 while num <= 1: url=base_url+ str(num) r = requests.get(url) soup = BeautifulSoup(r.text) titles =soup.select("h5 a") if len(titles) == 0: print("これ以上記事はありません") break num += 1 for title in titles: se= pd.Series(title.text, columns) df = df.append(se, ignore_index=True) df </code></pre> <h2 id=".tail"><a href="#.tail">.tail</a></h2> <p>.tail()を使うことで末尾から5つの要素を抜き出すことが可能です。<br /> 任意の数を表示させる場合はdf.tail(10)などのように引数を渡します。</p> <h2 id="出来たコード"><a href="#%E5%87%BA%E6%9D%A5%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89">出来たコード</a></h2> <p>試しに6つまで取得するコードを書いています。</p> <pre><code>from bs4 import BeautifulSoup import requests import pandas as pd columns = ['title'] df = pd.DataFrame(columns=columns) base_url = "https://crieit.net/posts?page=" num = 1 while num <= 1: url=base_url+ str(num) r = requests.get(url) soup = BeautifulSoup(r.text) titles =soup.select("h5 a") if len(titles) == 0: print("これ以上記事はありません") break num += 1 for title in titles: se= pd.Series(title.text, columns) df = df.append(se, ignore_index=True) df.tail(6) </code></pre> <h2 id="動くサンプル"><a href="#%E5%8B%95%E3%81%8F%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB">動くサンプル</a></h2> <p><a target="_blank" rel="nofollow noopener" href="https://colab.research.google.com/drive/1slyp9ssiahsR9TSiOGr7i8KPUxTXcU_z">Python3</a></p> aocory tag:crieit.net,2005:PublicArticle/14851 2019-03-03T08:30:14+09:00 2019-03-03T08:30:14+09:00 https://crieit.net/posts/pandas-head pandas入門 .head()で先頭から要素を抜き出す <h2 id="データをいろいろ扱いたい"><a href="#%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E3%81%84%E3%82%8D%E3%81%84%E3%82%8D%E6%89%B1%E3%81%84%E3%81%9F%E3%81%84">データをいろいろ扱いたい</a></h2> <p>google Colaboratoryは、環境構築不要で色々できるのが魅力です。<br /> スクレイピングで得たデータもPythonでごにょごにょしたい。そういう時はpandasを使うようです。<br /> 今回はスクレイピングデータから最初から任意の要素を抜き出します。</p> <h2 id="元となるデータ"><a href="#%E5%85%83%E3%81%A8%E3%81%AA%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF">元となるデータ</a></h2> <p>元となるデータはCrieitさんのタイトル一覧です。</p> <pre><code>from bs4 import BeautifulSoup import requests import pandas as pd columns = ['title'] df = pd.DataFrame(columns=columns) base_url = "https://crieit.net/posts?page=" num = 1 while num <= 1: url=base_url+ str(num) r = requests.get(url) soup = BeautifulSoup(r.text) titles =soup.select("h5 a") if len(titles) == 0: print("これ以上記事はありません") break num += 1 for title in titles: se= pd.Series(title.text, columns) df = df.append(se, ignore_index=True) df </code></pre> <h2 id=".head"><a href="#.head">.head</a></h2> <p>.head()を使うことで先頭から5つの要素を抜き出すことが可能です。<br /> 任意の数を表示させる場合はdf.head(10)などのように引数を渡します。</p> <h2 id="出来たコード"><a href="#%E5%87%BA%E6%9D%A5%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89">出来たコード</a></h2> <p>試しに6つまで取得するコードを書いています。</p> <pre><code>from bs4 import BeautifulSoup import requests import pandas as pd columns = ['title'] df = pd.DataFrame(columns=columns) base_url = "https://crieit.net/posts?page=" num = 1 while num <= 1: url=base_url+ str(num) r = requests.get(url) soup = BeautifulSoup(r.text) titles =soup.select("h5 a") if len(titles) == 0: print("これ以上記事はありません") break num += 1 for title in titles: se= pd.Series(title.text, columns) df = df.append(se, ignore_index=True) df.head(6) </code></pre> <h2 id="動くサンプル"><a href="#%E5%8B%95%E3%81%8F%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB">動くサンプル</a></h2> <p><a target="_blank" rel="nofollow noopener" href="https://colab.research.google.com/drive/1slyp9ssiahsR9TSiOGr7i8KPUxTXcU_z">Python3</a></p> aocory