Skip to content

Instantly share code, notes, and snippets.

@seibe2
Created December 19, 2020 13:56
Show Gist options
  • Save seibe2/8467082fe8d1aa213ada1d6a92a8d34e to your computer and use it in GitHub Desktop.
Save seibe2/8467082fe8d1aa213ada1d6a92a8d34e to your computer and use it in GitHub Desktop.
10万トゥート分析
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# import\n",
"\n",
"import pandas as pd\n",
"import re\n",
"import matplotlib\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 3,
"outputs": [],
"source": [
"# 見た目悪いのでよくないけど抑制\n",
"import warnings\n",
"warnings.filterwarnings('ignore')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 4,
"outputs": [],
"source": [
"# 表示設定\n",
"\n",
"pd.set_option(\"display.max_colwidth\", 500) # id列は表示されないでほしい"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 5,
"outputs": [
{
"data": {
"text/plain": " id \\\n0 https://handon.club/users/seibe/statuses/512 \n1 https://handon.club/users/seibe/statuses/514 \n2 https://handon.club/users/seibe/statuses/515 \n3 https://handon.club/users/seibe/statuses/518 \n4 https://handon.club/users/seibe/statuses/519 \n... ... \n104640 https://handon.club/users/seibe/statuses/105304862087509464 \n104641 https://handon.club/users/seibe/statuses/105304865363367483 \n104642 https://handon.club/users/seibe/statuses/105304866985388592 \n104643 https://handon.club/users/seibe/statuses/105304867599521441 \n104644 https://handon.club/users/seibe/statuses/105304867965054476 \n\n datetime name \\\n0 2017-04-16 12:25:41+09 seibe2 \n1 2017-04-16 12:27:06+09 seibe2 \n2 2017-04-16 12:27:35+09 seibe2 \n3 2017-04-16 12:33:01+09 seibe2 \n4 2017-04-16 12:33:16+09 seibe2 \n... ... ... \n104640 2020-12-01 21:11:17+09 seibe2 \n104641 2020-12-01 21:12:07+09 seibe2 \n104642 2020-12-01 21:12:32+09 seibe2 \n104643 2020-12-01 21:12:41+09 seibe2 \n104644 2020-12-01 21:12:47+09 seibe2 \n\n content \n0 <p>haaaaaaaaaan</p> \n1 <p>未収載</p> \n2 <p>未収載はローカルタイムラインにも乗らないのか</p> \n3 <p><span class=\"h-card\"><a href=\"https://handon.club/@komog\" class=\"u-url mention\">@<span>komog</span></a></span></p> \n4 <p>空リプでけへんの</p> \n... ... \n104640 <p>ばななの里</p> \n104641 <p>しあわせなひととき</p> \n104642 <p><span class=\"h-card\"><a href=\"https://handon.club/@sysecond\" class=\"u-url mention\">@<span>sysecond</span></a></span></p> \n104643 <p>風呂フロー土です</p> \n104644 <p>2112</p> \n\n[104645 rows x 4 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>id</th>\n <th>datetime</th>\n <th>name</th>\n <th>content</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>https://handon.club/users/seibe/statuses/512</td>\n <td>2017-04-16 12:25:41+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;haaaaaaaaaan&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>1</th>\n <td>https://handon.club/users/seibe/statuses/514</td>\n <td>2017-04-16 12:27:06+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;未収載&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>2</th>\n <td>https://handon.club/users/seibe/statuses/515</td>\n <td>2017-04-16 12:27:35+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;未収載はローカルタイムラインにも乗らないのか&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>3</th>\n <td>https://handon.club/users/seibe/statuses/518</td>\n <td>2017-04-16 12:33:01+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;&lt;span class=\"h-card\"&gt;&lt;a href=\"https://handon.club/@komog\" class=\"u-url mention\"&gt;@&lt;span&gt;komog&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>4</th>\n <td>https://handon.club/users/seibe/statuses/519</td>\n <td>2017-04-16 12:33:16+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;空リプでけへんの&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>104640</th>\n <td>https://handon.club/users/seibe/statuses/105304862087509464</td>\n <td>2020-12-01 21:11:17+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;ばななの里&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>104641</th>\n <td>https://handon.club/users/seibe/statuses/105304865363367483</td>\n <td>2020-12-01 21:12:07+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;しあわせなひととき&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>104642</th>\n <td>https://handon.club/users/seibe/statuses/105304866985388592</td>\n <td>2020-12-01 21:12:32+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;&lt;span class=\"h-card\"&gt;&lt;a href=\"https://handon.club/@sysecond\" class=\"u-url mention\"&gt;@&lt;span&gt;sysecond&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>104643</th>\n <td>https://handon.club/users/seibe/statuses/105304867599521441</td>\n <td>2020-12-01 21:12:41+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;風呂フロー土です&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>104644</th>\n <td>https://handon.club/users/seibe/statuses/105304867965054476</td>\n <td>2020-12-01 21:12:47+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;2112&lt;/p&gt;</td>\n </tr>\n </tbody>\n</table>\n<p>104645 rows × 4 columns</p>\n</div>"
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"toot_df = pd.read_csv('./data/notestock_export/user_9615_note.csv')\n",
"\n",
"toot_df"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 6,
"outputs": [
{
"data": {
"text/plain": "id object\ndatetime object\nname object\ncontent object\ndtype: object"
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 型は?\n",
"toot_df.dtypes"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 7,
"outputs": [
{
"data": {
"text/plain": "id False\ndatetime False\nname True\ncontent True\ndtype: bool"
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#nullある?\n",
"\n",
"toot_df.isnull().any()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 8,
"outputs": [
{
"data": {
"text/plain": "id False\ndatetime False\nname False\ncontent False\ndtype: bool"
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# NULLは空白にする。\n",
"\n",
"toot_df = toot_df.fillna(\"\")\n",
"toot_df.isna().any()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 9,
"outputs": [
{
"data": {
"text/plain": " id \\\n3803 https://handon.club/users/seibe/statuses/100774471990699157 \n8326 https://handon.club/users/seibe/statuses/101080329882241542 \n8402 https://handon.club/users/seibe/statuses/101081091918948810 \n21347 https://handon.club/users/seibe/statuses/101953696597305043 \n33115 https://handon.club/users/seibe/statuses/102391892152816317 \n33616 https://handon.club/users/seibe/statuses/102409666939868602 \n63996 https://handon.club/users/seibe/statuses/103627257345629193 \n71564 https://handon.club/users/seibe/statuses/103951149227260951 \n72609 https://handon.club/users/seibe/statuses/104000470573596629 \n72892 https://handon.club/users/seibe/statuses/104013603031282173 \n72963 https://handon.club/users/seibe/statuses/104017433191296281 \n72972 https://handon.club/users/seibe/statuses/104017486446159107 \n73506 https://handon.club/users/seibe/statuses/104039980437388622 \n76434 https://handon.club/users/seibe/statuses/104137641216778502 \n76435 https://handon.club/users/seibe/statuses/104137657437642239 \n78626 https://handon.club/users/seibe/statuses/104217984737718843 \n78628 https://handon.club/users/seibe/statuses/104217989444329409 \n80355 https://handon.club/users/seibe/statuses/104285571482584701 \n82488 https://handon.club/users/seibe/statuses/104368483313564192 \n90496 https://handon.club/users/seibe/statuses/104716360311137762 \n95809 https://handon.club/users/seibe/statuses/104942333269776997 \n95834 https://handon.club/users/seibe/statuses/104942395109690165 \n95915 https://handon.club/users/seibe/statuses/104947544737028406 \n97745 https://handon.club/users/seibe/statuses/105019593052305728 \n97761 https://handon.club/users/seibe/statuses/105019648421353196 \n98600 https://handon.club/users/seibe/statuses/105054507032876027 \n99394 https://handon.club/users/seibe/statuses/105104586026640927 \n\n datetime name \\\n3803 2018-09-23 18:53:31+09 seibe2 \n8326 2018-11-16 19:17:12+09 seibe2 \n8402 2018-11-16 22:30:59+09 seibe2 \n21347 2019-04-20 01:05:50+09 seibe2 \n33115 2019-07-06 10:24:44+09 seibe2 \n33616 2019-07-09 13:45:05+09 seibe2 \n63996 2020-02-09 14:34:20+09 seibe2 \n71564 2020-04-06 19:24:18+09 seibe2 \n72609 2020-04-15 12:27:22+09 seibe2 \n72892 2020-04-17 20:07:08+09 seibe2 \n72963 2020-04-18 12:21:11+09 seibe2 \n72972 2020-04-18 12:34:44+09 seibe2 \n73506 2020-04-22 11:55:15+09 seibe2 \n76434 2020-05-09 17:51:40+09 seibe2 \n76435 2020-05-09 17:55:48+09 seibe2 \n78626 2020-05-23 22:24:05+09 seibe2 \n78628 2020-05-23 22:25:17+09 seibe2 \n80355 2020-06-04 20:52:17+09 seibe2 \n82488 2020-06-19 12:17:51+09 seibe2 \n90496 2020-08-19 22:47:33+09 seibe2 \n95809 2020-09-28 20:35:27+09 seibe2 \n95834 2020-09-28 20:51:10+09 seibe2 \n95915 2020-09-29 18:40:47+09 seibe2 \n97745 2020-10-12 12:03:37+09 seibe2 \n97761 2020-10-12 12:17:42+09 seibe2 \n98600 2020-10-18 16:02:42+09 seibe2 \n99394 2020-10-27 12:18:27+09 seibe2 \n\n content \n3803 <p><span class=\"h-card\"><a href=\"https://handon.club/@highemerly\" class=\"u-url mention\">@<span>highemerly</span></a></span> お手ごろ、10万…</p> \n8326 <p>まあ海外ドラマ見てると$10万〜みたいな感じが</p> \n8402 <p>10万4000年ぶりにガチやってる</p> \n21347 <p>10万だったら無印の家具ください</p> \n33115 <p>10万円分のせんべいは部屋が埋まりそう・・</p> \n33616 <p>保険料還付は年10万以上の場合だっけそういえば</p> \n63996 <p>1日10万PV?</p> \n71564 <p>YouTubeに対抗してフォロワー10万人で銀のフォーク贈呈を!!!</p> \n72609 <p>10万は椅子に既に使ったのでその補填に…</p> \n72892 <p>日産シルフィーを移動する椅子(4脚)として10万でお買い上げするのヤバそう</p> \n72963 <p>来る予定の10万でマイクラ33個買える</p> \n72972 <p>年間10万超えるサブスクみつけた <a href=\"https://mezon.jocy.jp/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">mezon.jocy.jp/</span><span class=\"invisible\"></span></a></p> \n73506 <p>家でプレイステーションするための10万円・・</p> \n76434 <p>10万は10万に使うか</p> \n76435 <p>10万で買うもの10万くらいある</p> \n78626 <p><span class=\"h-card\"><a href=\"https://handon.club/@pom_matsu\" class=\"u-url mention\">@<span>pom_matsu</span></a></span> あんまり分かってないのですが車検無しと車検ほぼ2年では、実質10万くらいは費用に差が出てくる、って思ったらいいんでしょうか</p> \n78628 <p>車検=10万みたいに思ってるんだけどそんな感じの認識でいいのかな・・</p> \n80355 <p>無限10万で無限ナンピン!</p> \n82488 <p>10万ダウンロードで特典はありますか!?</p> \n90496 <p>PCの頭が古すぎて20万が基準になってる 多分今は10万強が基準な気がする</p> \n95809 <p>10万トゥートいったので、自分でお祝いしました <a href=\"https://handon.club/tags/%E9%89%84%E7%90%B4\" class=\"mention hashtag\" rel=\"tag\">#<span>鉄琴</span></a></p> \n95834 <p>鉄琴が10万tootです、せんべいではないです</p> \n95915 <p>10万Favoありがとうございました</p> \n97745 <p>GoTo任意、一番簡単な方法があって、10万円給付です</p> \n97761 <p>10万円のボタン…</p> \n98600 <p>はんさんに10万トゥート記念品いただきました! ありがとうございました!!</p> \n99394 <p>10万トゥートがそれはかなしすぎる</p> ",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>id</th>\n <th>datetime</th>\n <th>name</th>\n <th>content</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>3803</th>\n <td>https://handon.club/users/seibe/statuses/100774471990699157</td>\n <td>2018-09-23 18:53:31+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;&lt;span class=\"h-card\"&gt;&lt;a href=\"https://handon.club/@highemerly\" class=\"u-url mention\"&gt;@&lt;span&gt;highemerly&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; お手ごろ、10万…&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>8326</th>\n <td>https://handon.club/users/seibe/statuses/101080329882241542</td>\n <td>2018-11-16 19:17:12+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;まあ海外ドラマ見てると$10万〜みたいな感じが&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>8402</th>\n <td>https://handon.club/users/seibe/statuses/101081091918948810</td>\n <td>2018-11-16 22:30:59+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;10万4000年ぶりにガチやってる&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>21347</th>\n <td>https://handon.club/users/seibe/statuses/101953696597305043</td>\n <td>2019-04-20 01:05:50+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;10万だったら無印の家具ください&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>33115</th>\n <td>https://handon.club/users/seibe/statuses/102391892152816317</td>\n <td>2019-07-06 10:24:44+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;10万円分のせんべいは部屋が埋まりそう・・&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>33616</th>\n <td>https://handon.club/users/seibe/statuses/102409666939868602</td>\n <td>2019-07-09 13:45:05+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;保険料還付は年10万以上の場合だっけそういえば&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>63996</th>\n <td>https://handon.club/users/seibe/statuses/103627257345629193</td>\n <td>2020-02-09 14:34:20+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;1日10万PV?&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>71564</th>\n <td>https://handon.club/users/seibe/statuses/103951149227260951</td>\n <td>2020-04-06 19:24:18+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;YouTubeに対抗してフォロワー10万人で銀のフォーク贈呈を!!!&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>72609</th>\n <td>https://handon.club/users/seibe/statuses/104000470573596629</td>\n <td>2020-04-15 12:27:22+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;10万は椅子に既に使ったのでその補填に…&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>72892</th>\n <td>https://handon.club/users/seibe/statuses/104013603031282173</td>\n <td>2020-04-17 20:07:08+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;日産シルフィーを移動する椅子(4脚)として10万でお買い上げするのヤバそう&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>72963</th>\n <td>https://handon.club/users/seibe/statuses/104017433191296281</td>\n <td>2020-04-18 12:21:11+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;来る予定の10万でマイクラ33個買える&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>72972</th>\n <td>https://handon.club/users/seibe/statuses/104017486446159107</td>\n <td>2020-04-18 12:34:44+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;年間10万超えるサブスクみつけた &lt;a href=\"https://mezon.jocy.jp/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"&gt;&lt;span class=\"invisible\"&gt;https://&lt;/span&gt;&lt;span class=\"\"&gt;mezon.jocy.jp/&lt;/span&gt;&lt;span class=\"invisible\"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>73506</th>\n <td>https://handon.club/users/seibe/statuses/104039980437388622</td>\n <td>2020-04-22 11:55:15+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;家でプレイステーションするための10万円・・&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>76434</th>\n <td>https://handon.club/users/seibe/statuses/104137641216778502</td>\n <td>2020-05-09 17:51:40+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;10万は10万に使うか&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>76435</th>\n <td>https://handon.club/users/seibe/statuses/104137657437642239</td>\n <td>2020-05-09 17:55:48+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;10万で買うもの10万くらいある&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>78626</th>\n <td>https://handon.club/users/seibe/statuses/104217984737718843</td>\n <td>2020-05-23 22:24:05+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;&lt;span class=\"h-card\"&gt;&lt;a href=\"https://handon.club/@pom_matsu\" class=\"u-url mention\"&gt;@&lt;span&gt;pom_matsu&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; あんまり分かってないのですが車検無しと車検ほぼ2年では、実質10万くらいは費用に差が出てくる、って思ったらいいんでしょうか&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>78628</th>\n <td>https://handon.club/users/seibe/statuses/104217989444329409</td>\n <td>2020-05-23 22:25:17+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;車検=10万みたいに思ってるんだけどそんな感じの認識でいいのかな・・&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>80355</th>\n <td>https://handon.club/users/seibe/statuses/104285571482584701</td>\n <td>2020-06-04 20:52:17+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;無限10万で無限ナンピン!&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>82488</th>\n <td>https://handon.club/users/seibe/statuses/104368483313564192</td>\n <td>2020-06-19 12:17:51+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;10万ダウンロードで特典はありますか!?&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>90496</th>\n <td>https://handon.club/users/seibe/statuses/104716360311137762</td>\n <td>2020-08-19 22:47:33+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;PCの頭が古すぎて20万が基準になってる 多分今は10万強が基準な気がする&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>95809</th>\n <td>https://handon.club/users/seibe/statuses/104942333269776997</td>\n <td>2020-09-28 20:35:27+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;10万トゥートいったので、自分でお祝いしました &lt;a href=\"https://handon.club/tags/%E9%89%84%E7%90%B4\" class=\"mention hashtag\" rel=\"tag\"&gt;#&lt;span&gt;鉄琴&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>95834</th>\n <td>https://handon.club/users/seibe/statuses/104942395109690165</td>\n <td>2020-09-28 20:51:10+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;鉄琴が10万tootです、せんべいではないです&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>95915</th>\n <td>https://handon.club/users/seibe/statuses/104947544737028406</td>\n <td>2020-09-29 18:40:47+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;10万Favoありがとうございました&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>97745</th>\n <td>https://handon.club/users/seibe/statuses/105019593052305728</td>\n <td>2020-10-12 12:03:37+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;GoTo任意、一番簡単な方法があって、10万円給付です&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>97761</th>\n <td>https://handon.club/users/seibe/statuses/105019648421353196</td>\n <td>2020-10-12 12:17:42+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;10万円のボタン…&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>98600</th>\n <td>https://handon.club/users/seibe/statuses/105054507032876027</td>\n <td>2020-10-18 16:02:42+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;はんさんに10万トゥート記念品いただきました! ありがとうございました!!&lt;/p&gt;</td>\n </tr>\n <tr>\n <th>99394</th>\n <td>https://handon.club/users/seibe/statuses/105104586026640927</td>\n <td>2020-10-27 12:18:27+09</td>\n <td>seibe2</td>\n <td>&lt;p&gt;10万トゥートがそれはかなしすぎる&lt;/p&gt;</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#1000000どこ?\n",
"\n",
"toot_df[toot_df['content'].str.contains('10万')]\n",
"\n",
"# → 95809"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 10,
"outputs": [],
"source": [
"# 1000000まで\n",
"\n",
"toot_df = toot_df[:95810]"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 11,
"outputs": [
{
"data": {
"text/plain": " id \\\n0 https://handon.club/users/seibe/statuses/512 \n1 https://handon.club/users/seibe/statuses/514 \n2 https://handon.club/users/seibe/statuses/515 \n3 https://handon.club/users/seibe/statuses/518 \n4 https://handon.club/users/seibe/statuses/519 \n... ... \n95805 https://handon.club/users/seibe/statuses/104942327726721279 \n95806 https://handon.club/users/seibe/statuses/104942331294889956 \n95807 https://handon.club/users/seibe/statuses/104942331963445297 \n95808 https://handon.club/users/seibe/statuses/104942332748397262 \n95809 https://handon.club/users/seibe/statuses/104942333269776997 \n\n datetime name content \n0 2017-04-16 12:25:41+09 seibe2 haaaaaaaaaan \n1 2017-04-16 12:27:06+09 seibe2 未収載 \n2 2017-04-16 12:27:35+09 seibe2 未収載はローカルタイムラインにも乗らないのか \n3 2017-04-16 12:33:01+09 seibe2 @komog \n4 2017-04-16 12:33:16+09 seibe2 空リプでけへんの \n... ... ... ... \n95805 2020-09-28 20:34:02+09 seibe2 おいしかったです \n95806 2020-09-28 20:34:56+09 seibe2 ヤバ \n95807 2020-09-28 20:35:07+09 seibe2 まだです \n95808 2020-09-28 20:35:19+09 seibe2 せんべいではないです \n95809 2020-09-28 20:35:27+09 seibe2 10万トゥートいったので、自分でお祝いしました #鉄琴 \n\n[95810 rows x 4 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>id</th>\n <th>datetime</th>\n <th>name</th>\n <th>content</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>https://handon.club/users/seibe/statuses/512</td>\n <td>2017-04-16 12:25:41+09</td>\n <td>seibe2</td>\n <td>haaaaaaaaaan</td>\n </tr>\n <tr>\n <th>1</th>\n <td>https://handon.club/users/seibe/statuses/514</td>\n <td>2017-04-16 12:27:06+09</td>\n <td>seibe2</td>\n <td>未収載</td>\n </tr>\n <tr>\n <th>2</th>\n <td>https://handon.club/users/seibe/statuses/515</td>\n <td>2017-04-16 12:27:35+09</td>\n <td>seibe2</td>\n <td>未収載はローカルタイムラインにも乗らないのか</td>\n </tr>\n <tr>\n <th>3</th>\n <td>https://handon.club/users/seibe/statuses/518</td>\n <td>2017-04-16 12:33:01+09</td>\n <td>seibe2</td>\n <td>@komog</td>\n </tr>\n <tr>\n <th>4</th>\n <td>https://handon.club/users/seibe/statuses/519</td>\n <td>2017-04-16 12:33:16+09</td>\n <td>seibe2</td>\n <td>空リプでけへんの</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>95805</th>\n <td>https://handon.club/users/seibe/statuses/104942327726721279</td>\n <td>2020-09-28 20:34:02+09</td>\n <td>seibe2</td>\n <td>おいしかったです</td>\n </tr>\n <tr>\n <th>95806</th>\n <td>https://handon.club/users/seibe/statuses/104942331294889956</td>\n <td>2020-09-28 20:34:56+09</td>\n <td>seibe2</td>\n <td>ヤバ</td>\n </tr>\n <tr>\n <th>95807</th>\n <td>https://handon.club/users/seibe/statuses/104942331963445297</td>\n <td>2020-09-28 20:35:07+09</td>\n <td>seibe2</td>\n <td>まだです</td>\n </tr>\n <tr>\n <th>95808</th>\n <td>https://handon.club/users/seibe/statuses/104942332748397262</td>\n <td>2020-09-28 20:35:19+09</td>\n <td>seibe2</td>\n <td>せんべいではないです</td>\n </tr>\n <tr>\n <th>95809</th>\n <td>https://handon.club/users/seibe/statuses/104942333269776997</td>\n <td>2020-09-28 20:35:27+09</td>\n <td>seibe2</td>\n <td>10万トゥートいったので、自分でお祝いしました #鉄琴</td>\n </tr>\n </tbody>\n</table>\n<p>95810 rows × 4 columns</p>\n</div>"
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 今回の分析にHTMLタグは要らん\n",
"toot_df['content'] = toot_df['content'].str.replace(r\"<[^>]*?>\", \"\")\n",
"\n",
"toot_df"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 12,
"outputs": [
{
"data": {
"text/plain": " id \\\n0 https://handon.club/users/seibe/statuses/512 \n1 https://handon.club/users/seibe/statuses/514 \n2 https://handon.club/users/seibe/statuses/515 \n3 https://handon.club/users/seibe/statuses/518 \n4 https://handon.club/users/seibe/statuses/519 \n... ... \n95805 https://handon.club/users/seibe/statuses/104942327726721279 \n95806 https://handon.club/users/seibe/statuses/104942331294889956 \n95807 https://handon.club/users/seibe/statuses/104942331963445297 \n95808 https://handon.club/users/seibe/statuses/104942332748397262 \n95809 https://handon.club/users/seibe/statuses/104942333269776997 \n\n datetime name content \n0 2017-04-16 12:25:41+09 seibe2 haaaaaaaaaan \n1 2017-04-16 12:27:06+09 seibe2 未収載 \n2 2017-04-16 12:27:35+09 seibe2 未収載はローカルタイムラインにも乗らないのか \n3 2017-04-16 12:33:01+09 seibe2 @komog \n4 2017-04-16 12:33:16+09 seibe2 空リプでけへんの \n... ... ... ... \n95805 2020-09-28 20:34:02+09 seibe2 おいしかったです \n95806 2020-09-28 20:34:56+09 seibe2 ヤバ \n95807 2020-09-28 20:35:07+09 seibe2 まだです \n95808 2020-09-28 20:35:19+09 seibe2 せんべいではないです \n95809 2020-09-28 20:35:27+09 seibe2 10万トゥートいったので、自分でお祝いしました #鉄琴 \n\n[95585 rows x 4 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>id</th>\n <th>datetime</th>\n <th>name</th>\n <th>content</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>https://handon.club/users/seibe/statuses/512</td>\n <td>2017-04-16 12:25:41+09</td>\n <td>seibe2</td>\n <td>haaaaaaaaaan</td>\n </tr>\n <tr>\n <th>1</th>\n <td>https://handon.club/users/seibe/statuses/514</td>\n <td>2017-04-16 12:27:06+09</td>\n <td>seibe2</td>\n <td>未収載</td>\n </tr>\n <tr>\n <th>2</th>\n <td>https://handon.club/users/seibe/statuses/515</td>\n <td>2017-04-16 12:27:35+09</td>\n <td>seibe2</td>\n <td>未収載はローカルタイムラインにも乗らないのか</td>\n </tr>\n <tr>\n <th>3</th>\n <td>https://handon.club/users/seibe/statuses/518</td>\n <td>2017-04-16 12:33:01+09</td>\n <td>seibe2</td>\n <td>@komog</td>\n </tr>\n <tr>\n <th>4</th>\n <td>https://handon.club/users/seibe/statuses/519</td>\n <td>2017-04-16 12:33:16+09</td>\n <td>seibe2</td>\n <td>空リプでけへんの</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>95805</th>\n <td>https://handon.club/users/seibe/statuses/104942327726721279</td>\n <td>2020-09-28 20:34:02+09</td>\n <td>seibe2</td>\n <td>おいしかったです</td>\n </tr>\n <tr>\n <th>95806</th>\n <td>https://handon.club/users/seibe/statuses/104942331294889956</td>\n <td>2020-09-28 20:34:56+09</td>\n <td>seibe2</td>\n <td>ヤバ</td>\n </tr>\n <tr>\n <th>95807</th>\n <td>https://handon.club/users/seibe/statuses/104942331963445297</td>\n <td>2020-09-28 20:35:07+09</td>\n <td>seibe2</td>\n <td>まだです</td>\n </tr>\n <tr>\n <th>95808</th>\n <td>https://handon.club/users/seibe/statuses/104942332748397262</td>\n <td>2020-09-28 20:35:19+09</td>\n <td>seibe2</td>\n <td>せんべいではないです</td>\n </tr>\n <tr>\n <th>95809</th>\n <td>https://handon.club/users/seibe/statuses/104942333269776997</td>\n <td>2020-09-28 20:35:27+09</td>\n <td>seibe2</td>\n <td>10万トゥートいったので、自分でお祝いしました #鉄琴</td>\n </tr>\n </tbody>\n</table>\n<p>95585 rows × 4 columns</p>\n</div>"
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 自分のトゥートだけほしい\n",
"my_toot_df = toot_df[toot_df['name'] == 'seibe2']\n",
"my_toot_df\n"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 13,
"outputs": [
{
"data": {
"text/plain": "count 95585\nunique 76430\ntop @uzuky\nfreq 977\nName: content, dtype: object"
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# とりあえずどんな感じかを知りたい\n",
"my_toot_df['content'].describe()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 14,
"outputs": [
{
"data": {
"text/plain": "id object\ndatetime datetime64[ns, pytz.FixedOffset(540)]\nname object\ncontent object\ndtype: object"
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 後の処理が遅くなるので先に日付型にしておきたい\n",
"my_toot_df['datetime'] = pd.to_datetime(toot_df['datetime'], format='%Y-%m-%d %H:%M:%S')\n",
"my_toot_df.dtypes"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 15,
"outputs": [
{
"data": {
"text/plain": "<Figure size 800x600 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 投稿速度は?\n",
"fig = plt.figure(dpi=100, figsize=(8,6))\n",
"ax = fig.add_subplot(111)\n",
"ax.plot(my_toot_df['datetime'], my_toot_df.index, linewidth=1)\n",
"fig.savefig('toot_graph.png')\n",
"\n",
"# 前に突き出してるのは多分これはブーストだな"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 16,
"outputs": [],
"source": [
"# 内容だけ\n",
"\n",
"my_toot_df['content_wo_reply'] = my_toot_df['content'].str.replace(r'^(@([A-Za-z0-9._@]+)( |$))+', '')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 17,
"outputs": [
{
"data": {
"text/plain": " id \\\n0 https://handon.club/users/seibe/statuses/512 \n1 https://handon.club/users/seibe/statuses/514 \n2 https://handon.club/users/seibe/statuses/515 \n3 https://handon.club/users/seibe/statuses/518 \n4 https://handon.club/users/seibe/statuses/519 \n... ... \n95805 https://handon.club/users/seibe/statuses/104942327726721279 \n95806 https://handon.club/users/seibe/statuses/104942331294889956 \n95807 https://handon.club/users/seibe/statuses/104942331963445297 \n95808 https://handon.club/users/seibe/statuses/104942332748397262 \n95809 https://handon.club/users/seibe/statuses/104942333269776997 \n\n datetime name content \\\n0 2017-04-16 12:25:41+09:00 seibe2 haaaaaaaaaan \n1 2017-04-16 12:27:06+09:00 seibe2 未収載 \n2 2017-04-16 12:27:35+09:00 seibe2 未収載はローカルタイムラインにも乗らないのか \n3 2017-04-16 12:33:01+09:00 seibe2 @komog \n4 2017-04-16 12:33:16+09:00 seibe2 空リプでけへんの \n... ... ... ... \n95805 2020-09-28 20:34:02+09:00 seibe2 おいしかったです \n95806 2020-09-28 20:34:56+09:00 seibe2 ヤバ \n95807 2020-09-28 20:35:07+09:00 seibe2 まだです \n95808 2020-09-28 20:35:19+09:00 seibe2 せんべいではないです \n95809 2020-09-28 20:35:27+09:00 seibe2 10万トゥートいったので、自分でお祝いしました #鉄琴 \n\n content_wo_reply content_len \n0 haaaaaaaaaan 12 \n1 未収載 3 \n2 未収載はローカルタイムラインにも乗らないのか 22 \n3 0 \n4 空リプでけへんの 8 \n... ... ... \n95805 おいしかったです 8 \n95806 ヤバ 2 \n95807 まだです 4 \n95808 せんべいではないです 10 \n95809 10万トゥートいったので、自分でお祝いしました #鉄琴 27 \n\n[95585 rows x 6 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>id</th>\n <th>datetime</th>\n <th>name</th>\n <th>content</th>\n <th>content_wo_reply</th>\n <th>content_len</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>https://handon.club/users/seibe/statuses/512</td>\n <td>2017-04-16 12:25:41+09:00</td>\n <td>seibe2</td>\n <td>haaaaaaaaaan</td>\n <td>haaaaaaaaaan</td>\n <td>12</td>\n </tr>\n <tr>\n <th>1</th>\n <td>https://handon.club/users/seibe/statuses/514</td>\n <td>2017-04-16 12:27:06+09:00</td>\n <td>seibe2</td>\n <td>未収載</td>\n <td>未収載</td>\n <td>3</td>\n </tr>\n <tr>\n <th>2</th>\n <td>https://handon.club/users/seibe/statuses/515</td>\n <td>2017-04-16 12:27:35+09:00</td>\n <td>seibe2</td>\n <td>未収載はローカルタイムラインにも乗らないのか</td>\n <td>未収載はローカルタイムラインにも乗らないのか</td>\n <td>22</td>\n </tr>\n <tr>\n <th>3</th>\n <td>https://handon.club/users/seibe/statuses/518</td>\n <td>2017-04-16 12:33:01+09:00</td>\n <td>seibe2</td>\n <td>@komog</td>\n <td></td>\n <td>0</td>\n </tr>\n <tr>\n <th>4</th>\n <td>https://handon.club/users/seibe/statuses/519</td>\n <td>2017-04-16 12:33:16+09:00</td>\n <td>seibe2</td>\n <td>空リプでけへんの</td>\n <td>空リプでけへんの</td>\n <td>8</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>95805</th>\n <td>https://handon.club/users/seibe/statuses/104942327726721279</td>\n <td>2020-09-28 20:34:02+09:00</td>\n <td>seibe2</td>\n <td>おいしかったです</td>\n <td>おいしかったです</td>\n <td>8</td>\n </tr>\n <tr>\n <th>95806</th>\n <td>https://handon.club/users/seibe/statuses/104942331294889956</td>\n <td>2020-09-28 20:34:56+09:00</td>\n <td>seibe2</td>\n <td>ヤバ</td>\n <td>ヤバ</td>\n <td>2</td>\n </tr>\n <tr>\n <th>95807</th>\n <td>https://handon.club/users/seibe/statuses/104942331963445297</td>\n <td>2020-09-28 20:35:07+09:00</td>\n <td>seibe2</td>\n <td>まだです</td>\n <td>まだです</td>\n <td>4</td>\n </tr>\n <tr>\n <th>95808</th>\n <td>https://handon.club/users/seibe/statuses/104942332748397262</td>\n <td>2020-09-28 20:35:19+09:00</td>\n <td>seibe2</td>\n <td>せんべいではないです</td>\n <td>せんべいではないです</td>\n <td>10</td>\n </tr>\n <tr>\n <th>95809</th>\n <td>https://handon.club/users/seibe/statuses/104942333269776997</td>\n <td>2020-09-28 20:35:27+09:00</td>\n <td>seibe2</td>\n <td>10万トゥートいったので、自分でお祝いしました #鉄琴</td>\n <td>10万トゥートいったので、自分でお祝いしました #鉄琴</td>\n <td>27</td>\n </tr>\n </tbody>\n</table>\n<p>95585 rows × 6 columns</p>\n</div>"
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 長さが欲しい\n",
"\n",
"my_toot_df['content_len'] = my_toot_df['content_wo_reply'].str.len()\n",
"my_toot_df"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 18,
"outputs": [
{
"data": {
"text/plain": " content_len\ncount 95585.000000\nmean 13.973479\nstd 18.561739\nmin 0.000000\n25% 4.000000\n50% 9.000000\n75% 17.000000\nmax 479.000000",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>content_len</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>count</th>\n <td>95585.000000</td>\n </tr>\n <tr>\n <th>mean</th>\n <td>13.973479</td>\n </tr>\n <tr>\n <th>std</th>\n <td>18.561739</td>\n </tr>\n <tr>\n <th>min</th>\n <td>0.000000</td>\n </tr>\n <tr>\n <th>25%</th>\n <td>4.000000</td>\n </tr>\n <tr>\n <th>50%</th>\n <td>9.000000</td>\n </tr>\n <tr>\n <th>75%</th>\n <td>17.000000</td>\n </tr>\n <tr>\n <th>max</th>\n <td>479.000000</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# とりあえず基本統計量を\n",
"my_toot_df.describe()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 19,
"outputs": [],
"source": [
"# グラフを綺麗に\n",
"plt.style.use('ggplot')\n",
"font = {'family' : 'meiryo'}\n",
"matplotlib.rc('font', **font)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 20,
"outputs": [
{
"data": {
"text/plain": "<Figure size 1600x400 with 1 Axes>",
"image/png": "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AABQOOERAAAAACic8AgAAAAAFE54BAAAAAAKJzwCAAAAAIUTHgEAAACAwgmPAAAAAEDhanp7AvSOrnkzKn+uvv2+XpwJAAAAAMciZzwCAAAAAIUTHgEAAACAwgmPAAAAAEDhhEcAAAAAoHDCIwAAAABQOOERAAAAACic8AgAAAAAFE54BAAAAAAKJzwCAAAAAIUTHgEAAACAwgmPAAAAAEDhhEcAAAAAoHDCIwAAAABQOOGRdM2bka55M3p7GgAAAAAcQ4RHAAAAAKBwwiMAAAAAUDjhEQAAAAAonPAIAAAAABROeAQAAAAACic8AgAAAACFq+ntCdB3dM2bcci26tvv64WZAAAAANDfOeMRAAAAACjcazrj8bnnnsu1116bN77xjfnwhz+cJHn++edzxx13ZOPGjUmSs846K3Pnzs3QoUMr33vssceybNmy7NixI0OGDMn06dMzc+bMyucHDx7M3XffnfXr16ejoyPjx4/PnDlzctppp72W6QIAAAAAR8mrPuOxo6MjCxcuTHV1dWVbuVzOokWLUl1dnRtvvDE33nhjyuVyFi9eXBnz1FNP5eabb8473vGOLFmyJFdddVW++93vZs2aNZUxy5YtyxNPPJGPfexjueWWW3L22WfnuuuuS2tr66udLgAAAABwFL2q8Hjw4MEsWrQob3vb2/L617++sn3r1q15+umnM3/+/NTX16e+vj7z58/P5s2b09LSkiRZu3ZtJk+enClTpmTIkCE588wzM3v27Dz44INJkq6urqxduzZz5sxJU1NThg0blksuuSSjR4/O+vXrCzhkAAAAAOBI63F4LJfLue222/K6170u73znO7t9tmXLlowdOzYnnXRSZVupVEp9fX2am5srY5qamrp9b+LEiWlpacnBgwezc+fOtLe3H3bMS/t4uc7OznR0dFRe+/bt6+lhAQAAAAAF6vE9Hr/+9a/nwIEDufLKKw/5rLW1NaVS6ZDtpVKpcpn04caUSqV0dXWlvb09ra2tqaqqOuyYXbt2HXZOK1euzD333FN539jYmBtuuKGnhwYAAAAAFKRH4XHdunV58skn84lPfCIDBvSdB2LPmjUrF198ceV9VVVVL84GAAAAAOhReNyyZUtaWloyf/78yrb9+/cnSR599NHMnj07bW1th3yvra0tdXV1SZLBgwcfMqatrS0DBgzIySefnLq6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y/9pzEtR8tVGSve8BAAAgGNbnw2Pq1atynve855MmjQpSTJt2rT85Cc/ydq1a/P+97+/29jOzs50dnZW3ldVVeWkk05KTU2fPbxCDGg6vbenUKjq2tokjqu/OOS4Fl7To+8f8vfRw+8XofoTN1f+3LXg/3Tb9tL7/248AAAAHMuK6GpV5XK5XMBcCnXgwIH81V/9VRYuXJjGxsbK9nvvvTc//OEP8+lPf7rb+H/7t3/LPffcU3l//vnn5+/+7u+O2nwBAAAAgO4G9PYEDqetrS3lcjmlUqnb9lKplNbW1kPGz5o1K0uXLq285s2b1+0MyGPRvn378g//8A/Zt29fb08F+B9Yq9A/WKvQf1iv0D9Yq9A/HOm1ekxci1xbW5va/3fZ5/GiXC5n69at6YMnrAK/x1qF/sFahf7DeoX+wVqF/uFIr9U+ecZjqVRKVVVV2traum1va2tLXV1dL80KAAAAAHil+mR4HDhwYMaOHZvm5uZu25ubm7vd8xEAAAAA6Jv6ZHhMkqlTp+ab3/xmNm3alL1792b16tV5/PHHc+GFF/b21PqE2traXHLJJcfdJebQ31ir0D9Yq9B/WK/QP1ir0D8c6bXaJ59qnfzuGvNvfetbWb16dfbu3ZsxY8bksssuy+TJk3t7agAAAADA/6LPhkcAAAAAoP/qs5daAwAAAAD9l/AIAAAAABROeAQAAAAACic8AgAAAACFq+ntCdBzK1asyKpVqypP+7788stzzjnn9Pa04Lj0y1/+Mp/61KfyxS9+MSNGjKhsf/7553PHHXdk48aNSZKzzjorc+fOzdChQytjHnvssSxbtiw7duzIkCFDMn369MycOfMoHwEcu9atW5cHHngg27dvz4svvpjx48fnfe97X84444zKGGsV+oaHH3443/ve97Jt27YcPHgw48aNy+zZs/PmN7+5Mmbbtm35yle+kl/84hepra3Nueeemw984AM58cQTK2PWrFmTe++9N7t3786oUaMya9asvP3tb++FI4Ljw3PPPZdrr702b3zjG/PhD384id9W6Cu+//3v57bbbjtk+1ve8pb8/d///VFbq8JjP3P//ffngQceyNVXX52GhoZs2LAhN910UxYuXJhx48b19vTguPHkk09mwYIF6ezsPOSzcrmcRYsWZdSoUbnxxhuTJHfddVcWL16cBQsWJEmeeuqp3Hzz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\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# 長さのヒストグラム見てみたい\n",
"fig = plt.figure(dpi=100, figsize=(16,4))\n",
"plt.hist(x=my_toot_df['content_len'], bins=500, label='test')\n",
"plt.grid()\n",
"fig.savefig('content_len_hist.png')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 21,
"outputs": [
{
"data": {
"text/plain": "<Figure size 1600x400 with 1 Axes>",
"image/png": "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NTU1eeKJJ/KLX/wi99xzT0aPHp1yuZyvf/3rGTNmTK655pokycMPP5yOjo7cfPPNFe4ejh/d3d355je/me7u7kyZMiXXX3+98QdHyL59+3LTTTelsbExH//4xzN27Njs2bMn48ePT1VVlXEIR8Bdd92V7u7ufPGLX8yoUaPy29/+Nvfee2/++q//OhdffHG+853vpL29PfPnz8+JJ56YFStW5D//8z9z9913p6bGvCIYrBdffDE333xzent7kySLFy/uDxgH8m/Ql19+Of/4j/+YL37xi/nwhz+crVu35nvf+17mzJmTadOmVeahhpgl0seYVatW5TOf+UzOPffc1NfXZ8aMGbnwwguzdu3aSrcGx6XPfvazueiii3Laaadl1KhRmTNnTmpqavK73/0uSbJly5a88sorWbBgQRoaGtLQ0JAFCxZk8+bN2bp1a4W7h+PD/v37c+edd+bSSy/NBz7wgf7jxh8cGStXrkxjY2MWLlyYM888M6VSKY2NjRk2bJhxCEfIpk2bMnPmzDQ2NqZUKuUjH/lILrzwwrz00kvp6OjIs88+my9/+ctpbGzMaaedluuuuy49PT15/vnnK906HJMmTZqU733ve/mnf/qng84N5Ldv7dq1mTp1aqZNm5b6+vpMmTIls2fPzpNPPnmkH+WIETAeQ/bt25dt27Zl0qRJBxyfPHlyWltbK9QVvL/09PSku7u7f+p7W1tbJkyYkJNOOqm/plQqpaGhwbiEw6BcLue+++7L6aefnk996lMHnDP+4Mh46qmnUl9fn29/+9tZuHBhbrzxxqxZsyblctk4hCPk/PPPz2OPPZbXXnstyR/+37C1tTXnn39+tmzZkhNPPPGA5dDDhg3LmWeemba2tkq1DMe02tranHrqqYd83cdAfvva2toOmd1s3bo1+/fvH9LeK8Vc6WNIZ2dnyuVySqXSAcdLpVI6Ojoq1BW8v7S0tKShoSGTJ09OknR0dBw0JhPjEg6XH/3oR9m3b1+uvfbag84ZfzD0enp68uqrr6arqyuzZ89OXV1dNm/enCVLluTtt99OT0+PcQhHwMKFC7No0aKsWrUqfX19eemllzJr1qx86EMfytNPP33IcXjyyScbhzAEBvJv0EPVlEql9PX1paurK/X19Uek1yNJwAgwQE8//XTWrl2bm266KcOGmQAOQ+2pp57Kiy++mG984xvGHFRId3d3kmTWrFkZO3ZskmT8+PHp6OjIqlWr8tGPfrSS7cH7xooVK3LRRRfloosuSpJs3LgxS5cuTVNTU4U7A/gDAeMxpFQqpaqqKp2dnRkzZkz/8c7OztTV1VWwMzj+rV69OsuXL8/Xv/71AzZUGjlyZDo7Ow+qNy7hvWtra8vWrVuzYMGC/mM9PT1Jkg0bNmT27NnGHwyxurq6VFVVZc+ePf0BY5JMmDAhe/bs8TsIR8CuXbvS0tKSf/u3f+s/NmXKlFxyySW57777Mnfu3EOOw66urjQ0NBzJVuF9YSC/fYeq6ezszLBhw3LyyScfkT6PNAHjMeSEE07IhAkT0tramubm5v7j7/4OHD7lcjnLly/Pv//7v+fmm28+6B9pzc3N+f3vf5+9e/f2v4Ojq6srr776qnEJ79HVV1990HsXH3rooVRXV+fzn/98du/enaVLlxp/MIRqamoyYcKE/PrXv86f/Mmf9B/ftm1bxo8f73cQjoC9e/emXC7ntddeO+A9i2+//XZ2796d5ubm9PT0ZPv27f3n33nnnbS1tR23u9VCJQ3kt6+5ufmgdxFv3rw5TU1Nx+3O7tYbHWOmT5+eH//4x9m0aVPa29uzevXq/OpXv8pll11W6dbguHT33XfnN7/5Tb75zW/mlFNOyb59+7Jv37709vYm+cPuYk1NTVm8eHF27tyZnTt3ZvHixWlubs7EiRMr2zwc40aMGJFTTz31gM/w4cMzfPjwnHrqqcYfHCGzZs3Kz372s6xbty4dHR15/vnn89hjj2X27NnGIRwBjY2NOeOMM7Jo0aK0tbWls7MzGzZsyOOPP56Pfexjqa+vz9SpU/ODH/wg27ZtyxtvvJEHH3wwtbW1ueCCCyrdPhx3BvLbN23atKxfvz5r1qxJe3t7Nm3alJaWlsyYMaOyzQ+hqnK5XK50EwxcuVzOT37yk6xevTrt7e0ZP3585syZk6lTp1a6NTguXX311Yc8PmbMmNx7771Jktdffz0PPvhgNm7cmKqqqpx77rmZN29eTjnllCPZKrwv3Hvvvamurs7111+fxPiDI+UXv/hFfv7zn+f111/PuHHj8ulPfzqXXnppEuMQjoQ9e/bkkUceyQsvvJC33norY8eOzfTp0/Pxj388w4YNS1dXV374wx/mueeeS29vb84+++x86UtfOuDVPsDA/dd//VduueWWJH+YLTx8+PAkybe+9a00NzcP6Lfv2WefzfLly7Njx46MGjUq06dPz+zZsyvyPEeCgBEAAAAAKMwSaQAAAACgMAEjAAAAAFCYgBEAAAAAKEzACAAAAAAUJmAEAAAAAAoTMAIAAAAAhQkYAQAAAIDCBIwAAAAAQGECRgAAAACgMAEjAAAAAFCYgBEAAAAAKOz/A1m9ZGMMw/6DAAAAAElFTkSuQmCC\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# 0-100文字\n",
"fig = plt.figure(dpi=100, figsize=(16,4))\n",
"plt.hist(x=my_toot_df['content_len'], bins=100, label='test', range=(0, 100))\n",
"plt.grid()\n",
"fig.savefig('content_len_hist_0-100.png')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 22,
"outputs": [
{
"data": {
"text/plain": "0 8628\n4 5545\n3 5335\n5 5226\n6 5167\n7 4800\n8 4389\n9 4187\n10 4168\n2 3523\n12 3485\n11 3394\n1 2972\n13 2815\n14 2535\n15 2344\n16 2024\n17 1952\n18 1669\n19 1556\n20 1442\n21 1246\n22 1190\n23 1093\n25 951\n24 945\n26 780\n27 750\n28 656\n30 622\n29 610\n31 553\n33 489\n32 467\n34 401\n36 390\n35 367\n37 354\n39 304\n38 302\n40 275\n41 274\n42 263\n43 240\n45 226\n44 216\n46 192\n47 181\n48 164\n51 159\nName: content_len, dtype: int64"
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# どんな文字数が多いのか?(1文字のも含めて)\n",
"\n",
"my_toot_df['content_len'].value_counts().head(50)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 23,
"outputs": [
{
"data": {
"text/plain": "あ 558\nえ 278\n昼 215\nお 194\n夜 186\n. 131\n朝 76\nん 63\n… 59\n? 58\nう 58\na 50\n、 45\ne 41\n草 40\nア 38\n🍆 35\no 24\nu 17\nい 16\nName: content_wo_reply, dtype: int64"
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 1文字トゥートの上位は?\n",
"one_toots = my_toot_df[my_toot_df['content_len'] == 1]\n",
"one_toots['content_wo_reply'].value_counts().head(20)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 24,
"outputs": [
{
"data": {
"text/plain": " id \\\n16707 https://handon.club/users/seibe/statuses/101657990822592386 \n24236 https://handon.club/users/seibe/statuses/102060081689333144 \n42999 https://handon.club/users/seibe/statuses/102827526443759814 \n43556 https://handon.club/users/seibe/statuses/102839401446355463 \n64606 https://handon.club/users/seibe/statuses/103651765246565542 \n86252 https://handon.club/users/seibe/statuses/104540212082429172 \n\n datetime name content content_wo_reply content_len \n16707 2019-02-26 19:43:58+09:00 seibe2 鹿 鹿 1 \n24236 2019-05-08 20:00:58+09:00 seibe2 鹿 鹿 1 \n42999 2019-09-21 08:52:15+09:00 seibe2 鹿 鹿 1 \n43556 2019-09-23 11:12:13+09:00 seibe2 鹿 鹿 1 \n64606 2020-02-13 22:27:01+09:00 seibe2 鹿 鹿 1 \n86252 2020-07-19 20:10:44+09:00 seibe2 鹿 鹿 1 ",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>id</th>\n <th>datetime</th>\n <th>name</th>\n <th>content</th>\n <th>content_wo_reply</th>\n <th>content_len</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>16707</th>\n <td>https://handon.club/users/seibe/statuses/101657990822592386</td>\n <td>2019-02-26 19:43:58+09:00</td>\n <td>seibe2</td>\n <td>鹿</td>\n <td>鹿</td>\n <td>1</td>\n </tr>\n <tr>\n <th>24236</th>\n <td>https://handon.club/users/seibe/statuses/102060081689333144</td>\n <td>2019-05-08 20:00:58+09:00</td>\n <td>seibe2</td>\n <td>鹿</td>\n <td>鹿</td>\n <td>1</td>\n </tr>\n <tr>\n <th>42999</th>\n <td>https://handon.club/users/seibe/statuses/102827526443759814</td>\n <td>2019-09-21 08:52:15+09:00</td>\n <td>seibe2</td>\n <td>鹿</td>\n <td>鹿</td>\n <td>1</td>\n </tr>\n <tr>\n <th>43556</th>\n <td>https://handon.club/users/seibe/statuses/102839401446355463</td>\n <td>2019-09-23 11:12:13+09:00</td>\n <td>seibe2</td>\n <td>鹿</td>\n <td>鹿</td>\n <td>1</td>\n </tr>\n <tr>\n <th>64606</th>\n <td>https://handon.club/users/seibe/statuses/103651765246565542</td>\n <td>2020-02-13 22:27:01+09:00</td>\n <td>seibe2</td>\n <td>鹿</td>\n <td>鹿</td>\n <td>1</td>\n </tr>\n <tr>\n <th>86252</th>\n <td>https://handon.club/users/seibe/statuses/104540212082429172</td>\n <td>2020-07-19 20:10:44+09:00</td>\n <td>seibe2</td>\n <td>鹿</td>\n <td>鹿</td>\n <td>1</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 「鹿」とは?\n",
"\n",
"one_toots[one_toots['content'] == '鹿']\n",
"\n",
"# 意味不明"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 25,
"outputs": [
{
"data": {
"text/plain": " id \\\n3 https://handon.club/users/seibe/statuses/518 \n6 https://handon.club/users/seibe/statuses/522 \n7 https://handon.club/users/seibe/statuses/524 \n15 https://handon.club/users/seibe/statuses/556 \n19 https://handon.club/users/seibe/statuses/656 \n... ... \n95649 https://handon.club/users/seibe/statuses/104934820642384431 \n95755 https://handon.club/users/seibe/statuses/104942052046082641 \n95780 https://handon.club/users/seibe/statuses/104942202222306978 \n95796 https://handon.club/users/seibe/statuses/104942310246752979 \n95800 https://handon.club/users/seibe/statuses/104942319291042763 \n\n datetime name content content_wo_reply \\\n3 2017-04-16 12:33:01+09:00 seibe2 @komog \n6 2017-04-16 12:33:40+09:00 seibe2 @highemerly \n7 2017-04-16 12:34:21+09:00 seibe2 @highemerly \n15 2017-04-16 12:52:26+09:00 seibe2 @komog \n19 2017-04-16 20:13:01+09:00 seibe2 @Shiba \n... ... ... ... ... \n95649 2020-09-27 12:44:53+09:00 seibe2 @shibafu528 \n95755 2020-09-28 19:23:55+09:00 seibe2 @S_iRe_N \n95780 2020-09-28 20:02:07+09:00 seibe2 @rio_tc \n95796 2020-09-28 20:29:35+09:00 seibe2 @highemerly \n95800 2020-09-28 20:31:53+09:00 seibe2 @donmi \n\n content_len \n3 0 \n6 0 \n7 0 \n15 0 \n19 0 \n... ... \n95649 0 \n95755 0 \n95780 0 \n95796 0 \n95800 0 \n\n[8041 rows x 6 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>id</th>\n <th>datetime</th>\n <th>name</th>\n <th>content</th>\n <th>content_wo_reply</th>\n <th>content_len</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>3</th>\n <td>https://handon.club/users/seibe/statuses/518</td>\n <td>2017-04-16 12:33:01+09:00</td>\n <td>seibe2</td>\n <td>@komog</td>\n <td></td>\n <td>0</td>\n </tr>\n <tr>\n <th>6</th>\n <td>https://handon.club/users/seibe/statuses/522</td>\n <td>2017-04-16 12:33:40+09:00</td>\n <td>seibe2</td>\n <td>@highemerly</td>\n <td></td>\n <td>0</td>\n </tr>\n <tr>\n <th>7</th>\n <td>https://handon.club/users/seibe/statuses/524</td>\n <td>2017-04-16 12:34:21+09:00</td>\n <td>seibe2</td>\n <td>@highemerly</td>\n <td></td>\n <td>0</td>\n </tr>\n <tr>\n <th>15</th>\n <td>https://handon.club/users/seibe/statuses/556</td>\n <td>2017-04-16 12:52:26+09:00</td>\n <td>seibe2</td>\n <td>@komog</td>\n <td></td>\n <td>0</td>\n </tr>\n <tr>\n <th>19</th>\n <td>https://handon.club/users/seibe/statuses/656</td>\n <td>2017-04-16 20:13:01+09:00</td>\n <td>seibe2</td>\n <td>@Shiba</td>\n <td></td>\n <td>0</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>95649</th>\n <td>https://handon.club/users/seibe/statuses/104934820642384431</td>\n <td>2020-09-27 12:44:53+09:00</td>\n <td>seibe2</td>\n <td>@shibafu528</td>\n <td></td>\n <td>0</td>\n </tr>\n <tr>\n <th>95755</th>\n <td>https://handon.club/users/seibe/statuses/104942052046082641</td>\n <td>2020-09-28 19:23:55+09:00</td>\n <td>seibe2</td>\n <td>@S_iRe_N</td>\n <td></td>\n <td>0</td>\n </tr>\n <tr>\n <th>95780</th>\n <td>https://handon.club/users/seibe/statuses/104942202222306978</td>\n <td>2020-09-28 20:02:07+09:00</td>\n <td>seibe2</td>\n <td>@rio_tc</td>\n <td></td>\n <td>0</td>\n </tr>\n <tr>\n <th>95796</th>\n <td>https://handon.club/users/seibe/statuses/104942310246752979</td>\n <td>2020-09-28 20:29:35+09:00</td>\n <td>seibe2</td>\n <td>@highemerly</td>\n <td></td>\n <td>0</td>\n </tr>\n <tr>\n <th>95800</th>\n <td>https://handon.club/users/seibe/statuses/104942319291042763</td>\n <td>2020-09-28 20:31:53+09:00</td>\n <td>seibe2</td>\n <td>@donmi</td>\n <td></td>\n <td>0</td>\n </tr>\n </tbody>\n</table>\n<p>8041 rows × 6 columns</p>\n</div>"
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 空リプだけ(単発のみ)\n",
"\n",
"empty_replies = my_toot_df[my_toot_df['content'].str.contains('^@[A-Za-z0-9_.@]+$')]\n",
"empty_replies"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 26,
"outputs": [
{
"data": {
"text/plain": "@uzuky 977\n@y_f_ 571\n@rainy_berry 437\n@femm 435\n@highemerly 428\n@S_iRe_N 394\n@Eucritical 336\n@u2mk 320\n@henkma 292\n@zero_zaki_ghost 284\nName: content, dtype: int64"
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#空リプが多いのは\n",
"\n",
"empty_replies['content'].value_counts().head(10)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 27,
"outputs": [
{
"data": {
"text/plain": "@rio_tc 3325\n@highemerly 1801\n@zero_zaki_ghost 919\n@yuhina 903\n@Eucritical 896\n@4pk 882\n@toku2 863\n@S_iRe_N 828\n@ac_key 747\n@u2mk 554\nName: to_whom, dtype: int64"
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#普通のリプライは?\n",
"re_reply = '(^@[A-Za-z0-9_.@]+) .*$'\n",
"replies = my_toot_df[my_toot_df['content'].str.contains(re_reply)]\n",
"replies['to_whom'] = replies['content'].str.replace(re_reply, '\\\\1', regex=True).copy()\n",
"replies['to_whom'].value_counts().head(10)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment