{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Count emoji occurences" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import json\n", "import glob\n", "import matplotlib\n", "import matplotlib.pyplot as plt\n", "from __future__ import unicode_literals\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "json_root = \"./emoji_counts/\"" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "json_files = sorted(glob.glob(json_root + \"/*.json\"))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['./emoji_counts/twitter_emoji_count_2017-12.json',\n", " './emoji_counts/twitter_emoji_count_2017_11.json']" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "json_files" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "json_lists = []" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "for path in json_files:\n", " with open(path) as f:\n", " data = json.load(f)\n", " json_lists.append(data)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "merged_dict = {}\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "for j in json_lists:\n", " for emoji in j.keys():\n", " if emoji in merged_dict:\n", " merged_dict[emoji] = merged_dict[emoji] + j[emoji]\n", " else:\n", " merged_dict[emoji] = j[emoji]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "n_top = 50" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "keysort = np.argsort(list(merged_dict.values()))[-n_top:]" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# for apple:\n", "from matplotlib.font_manager import FontProperties\n", "\n", "prop = FontProperties(fname='/System/Library/Fonts/Apple Color Emoji.ttc')\n", "plt.rcParams['font.family'] = prop.get_family()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#matplotlib.rc('font', family='Arial')\n", "plt.figure(figsize=(10,5))\n", "plt.bar(np.array(list(merged_dict.keys()))[keysort], np.array(list(merged_dict.values()))[keysort], color='g')\n", "plt.savefig(\"histogram.png\", bbox_inches='tight')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([106, 14, 46, 41, 74, 91, 87, 104, 69, 11, 52, 81, 15,\n", " 38, 16, 27, 65, 66, 28, 1, 57, 31, 55, 53, 33, 21,\n", " 2, 59, 29, 6, 32, 34, 13, 49, 37, 54, 40, 10, 4,\n", " 23, 50, 25, 8, 17, 5, 24, 7, 9, 3, 0])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "keysort" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['🤔', '🤣', '💕', '😚', '🤦', '😓', '😥', '🙄', '😻', '😣', '😛', '😝', '😃',\n", " '😐', '😈', '😡', '😞', '😪', '😑', '😕', '😬', '😱', '😇', '😄', '😆', '😴',\n", " '🙈', '😜', '😤', '😫', '😳', '😋', '😀', '😌', '😏', '😔', '😒', '😎', '😢',\n", " '😅', '😁', '😉', '🙌', '🙏', '😘', '😊', '😩', '😍', '😭', '😂'],\n", " dtype='