diff --git "a/vader-geoplots.ipynb" "b/vader-geoplots.ipynb" new file mode 100644--- /dev/null +++ "b/vader-geoplots.ipynb" @@ -0,0 +1,3395 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 5, + "id": "35e31e54", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import os\n", + "\n", + "usa_csv_files = [\n", + " 'data/2018-climate-usa.csv',\n", + " 'data/2019-climate-usa.csv',\n", + " 'data/2020-climate-usa.csv',\n", + "]\n", + "\n", + "eu_csv_files = [\n", + " 'data/2018-climate-eu.csv',\n", + " 'data/2019-climate-eu.csv',\n", + " 'data/2020-climate-eu.csv',\n", + "]\n", + "\n", + "# combine and export csv files\n", + "combined_usa = pd.concat([pd.read_csv(f, lineterminator='\\n') for f in usa_csv_files])\n", + "combined_eu = pd.concat([pd.read_csv(f, lineterminator='\\n') for f in eu_csv_files])\n", + "\n", + "combined_usa.to_csv('data/combined-usa.csv', index=False, lineterminator='\\n')\n", + "combined_eu.to_csv('data/combined-eu.csv', index=False, lineterminator='\\n')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6e4103a9", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "030b90ba", + "metadata": {}, + "outputs": [], + "source": [ + "import re\n", + "import numpy as np\n", + "from nltk.sentiment import SentimentIntensityAnalyzer\n", + "\n", + "usa_df = pd.read_csv('data/combined-usa.csv', lineterminator='\\n')\n", + "eu_df = pd.read_csv('data/combined-eu.csv', lineterminator='\\n')\n", + "\n", + "def remove_pattern(input_txt, pattern):\n", + " r = re.findall(pattern, input_txt)\n", + " for i in r:\n", + " input_txt = re.sub(i, '', input_txt) \n", + " return input_txt\n", + "\n", + "def clean_tweet(text):\n", + " # remove twitter Return handles (RT @xxx:)\n", + " text = np.vectorize(remove_pattern)(text, \"RT @[\\w]*:\")\n", + " # remove twitter handles (@xxx)\n", + " text = np.vectorize(remove_pattern)(text, \"@[\\w]*\")\n", + " # remove URL links (httpxxx)\n", + " text = np.vectorize(remove_pattern)(text, \"https?://[A-Za-z0-9./]*\")\n", + " # remove special characters, numbers, punctuations (except for #)\n", + " text = np.core.defchararray.replace(text, \"[^a-zA-Z#]\", \" \")\n", + " return text\n", + "\n", + "usa_df['Content'] = usa_df['Content'].astype(str).apply(clean_tweet)\n", + "eu_df['Content'] = eu_df['Content'].astype(str).apply(clean_tweet)\n", + "\n", + "# initialize VADER\n", + "sia = SentimentIntensityAnalyzer()\n", + "\n", + "def analyze_sentiment(tweet):\n", + " if isinstance(tweet, str):\n", + " return sia.polarity_scores(tweet)['compound']\n", + " else:\n", + " return 0\n", + "\n", + "def label_sentiment(score):\n", + " if score >= 0.05:\n", + " return 'Positive'\n", + " elif score <= -0.05:\n", + " return 'Negative'\n", + " else:\n", + " return 'Neutral'\n", + "\n", + "usa_df['Sentiment Score'] = usa_df['Content'].apply(analyze_sentiment)\n", + "usa_df['Sentiment Label'] = usa_df['Sentiment Score'].apply(label_sentiment)\n", + "usa_df.to_csv('data/usa-sentiment-vader.csv', index=False)\n", + "\n", + "eu_df['Sentiment Score'] = eu_df['Content'].apply(analyze_sentiment)\n", + "eu_df['Sentiment Label'] = eu_df['Sentiment Score'].apply(label_sentiment)\n", + "eu_df.to_csv('data/eu-sentiment-vader.csv', index=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "9fc671b2", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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vE+nTZumJk2aaPbs2XrzzTc1fvx4zZgxI933CQDAwcwAADzhWrVqZW7VqpXZbDabt27davbw8DBPnjzZsv/11183Dx48OMWfzWazOSgoyOzh4WE+d+6c2Ww2m6dNm2b28PAw//LLL5Y2c+bMMXt4eJhXrlxp2bZx40azh4eH+dixY0mOW7dunaVNdHS0uUaNGuZ+/fqZzWazefny5WYPDw/zoUOHLG0SEhLMH374oblZs2aWbR4eHub3338/1dt+/fp184svvmgePnx4ku379+83e3h4mL/99luz2Ww279mzx+zh4WHes2dPqvUSpdR+zpw55sqVK5tjYmLMZrPZPGTIEHPTpk3NHh4e5r/++stsNpvNM2fONNeoUcOckJBg3rFjh9nDw8P8ww8/JKkzYMAAc40aNcyxsbHmyMhIs5eXl3nUqFFJ2qxYscLs4eFhPnnypNls/t99m2jdunVmDw8Pc1hYmGXb77//bp48ebL55s2byd6uc+fOmT08PMxt2rRJsn3s2LHmChUqmG/cuGFzfwYPHmz28PAw//3332m6LxM9+LdnNpvNf/75p/mdd94xe3h4mD08PMyenp5mPz8/87x588xRUVGp/j6z2WzetGmT+dVXX7UcX6lSJXP79u0fehwe/N13795Ntt3ChQvNHh4e5vDwcLPZ/PBj8ddff5nLlStnnjNnTpLj/P39zRUrVjRfvXrVap8BAI8OIwIAAFmKr6+vmjRpovnz5+vo0aPprvfSSy9Z/l+4cGFJSjJnvkCBApKkyMhIyzZnZ2fVr1/f8nOOHDn02muvWb5J3717t4oUKaIKFSooLi5OcXFxio+P1+uvv64//vjDMqRfkjw8PFLt36FDhxQTE6PGjRsn2V61alWVLFnS4av8165dW3fu3NHvv/8uSdqzZ4/atGmj3Llza//+/ZKkX375Ra+//rpMJpN2794tk8mk2rVrW25rXFycfH19denSJZ06dUoHDx5UVFSUfH19H2ojSTt37ky2L15eXsqRI4eaN2+uCRMmaNeuXfL09FTfvn2VJ0+eVG9HkyZNkvzcoEEDxcbG6tChQ3b1x9XVVc8880yqv8tkMqW6P7l2Hh4eWrVqlb777jv16dNH1apV06lTp/TVV1/p3Xff1dWrV1OtVb9+fW3btk3z589X+/btVbZsWe3atUt9+/ZVr169Urz0n4uL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mzV//nzVrl1b9evX13vvvaf69evrtdde05w5c5SQkODQ3+eIcGrx4sUO6Mk9ab19CQkJ2rJlizp06KAGDRo4rD/WmM1mbd++Xc2bN9fJkydTbYfkXblyRXPmzLEpLBk6dKjN/zLahQsXbP7nKHfv3lVQUJDD6j0KL7zwgq5cufK4u5FlPKqg88KFCw593bp48eJDJ+H79u3Tv//+67DfYU2bNm1048aNR/b7bPXLL79YbRMTE6NRo0Y9gt441tChQ61+jnxU1q5dq9GjRye7LyEhQVOnTlW7du2UI0eOR9uxTOT8+fNq0qSJmjRporffflvvvfeeZYREbGysJk+erObNmyssLOyR9entt9/Wxo0b012nTZs2ql+/vubOnatLly45oGf3xMbG6vTp0zp48KBOnz6t+Ph4h9V2lGyPuwNGdPfuXf3www8KDAzUkSNH5OTkpHr16lk9rn///hozZozy5MnjkH5ERUXJ1dVVJpPJsu3UqVMqWbKkcuXKleqxJ06c0Lvvvit/f39VrFgxyb7Y2FhNmjRJixcvVqVKlRzSV+neB4POnTvr+PHjdh137tw5LV++XMHBwbp69arc3d3T3Ifbt29rzZo1CgwM1MmTJ+Xq6qovvvgizfXs0atXL23btk3vvPOOqlevroIFC+rGjRvas2ePZs2apYMHD2r27Nnp/j3Hjx/XsmXLtG7dOh04cCDFdl9//bXWrVsnZ2dnvfPOO/rwww8t+06dOqXhw4fryJEjatu2bbr7tH37drsf+/DwcK1YsULfffedIiIilCdPHrVr186mY1etWmXz73n33XeT3W4ymTR//nyNGDFC7733nj755JNk297//LMmPc9ZKfXb5ezsrEKFCqly5crKnTt3mus8KKX7JzV79+5VYGCgtmzZotjYWJteR5I7aThw4IAqVKiQpg9v//zzj9avX6/jx4/r1q1bypMnjypUqKC33npLTz/9dKrH+vr6Wn1czWazTCaT3a9nDzpz5owCAwO1evVq3bx5U35+fsm28/T0tOlvzWQy6dixY6m26dSpkyZPnqy8efNatv3yyy+qVq2aXF1dJd0LcXx9ffX777+nWMeRJ5N169ZV8+bN1axZMxUrVizNdQICAmxu+/HHH1tt8++//2rFihU6cOCArl69qoIFC+qll15SixYt9Mwzz6S5n4kSEhL0008/admy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VaJECbVo0UI1atRQxYoVM+Tbr/j4eMvr2vbt2yUpxdc2W6bgJLL2WnT+/Hmba1kbpZLSZTE7dOhg82UxpXvfhv7555/KkyeP3n77bTVv3jxN31IuWrRIGzdu1OHDh1WiRAm99dZbevPNN+2uFR4ernfffVeVK1dW7969k7ymHD9+XBMnTtTp06f1/fffp3k9G3uDTmujGO6X2oJ4AQEBNi8WaItly5Zp2bJlOnnypKR7r7kvvviiWrZsqebNm9v03Nm1a5cCAwPl5OSkjz76SJUrV5Z077KZa9asUf/+/VO93J219xB7OGJB3uQ8+LpWsmTJdI3qScvJ8gsvvKDnn39eEyZMSNPz6362nlhKqX+hkNxrW0rTHuy54kNKozimTJli9diMPBmsUqWKxowZY9elRx313E+NvWGJdO88yMnJKcn0oC1btujixYvy8/OzenKf+Lm/Zs2aqlGjRpqv0OPp6amnnnpKvr6+6b7Sj6Pua1sWZb1z546+/vprgoDMzlEfdAYNGqSRI0c6ZGGVmJgYTZs2TStXrkwyhLNw4cLy8/NTt27dUn0SODrJtWVFU2tSW6m7Zs2almGBV65csdpvW9+gjh49qlmzZqW439EvvlFRUcqRI4fOnj2r69evq0CBArp7966eeeYZm9PQkJAQderUyTKcKHfu3Jo6daplmPLVq1ctQYe1cEpK30mX5LgTlJiYGMulw3bs2JGmS4cl2rdvn81tX3nllWS3O/rDYHqfs6m5deuWPv/8c3333Xd69dVXNXbsWLu/yU9u+PRbb71ldRGbq1evauHCherdu7eyZ8+uxo0b686dO5b91atX1yeffGLTt05ms1kLFizQkiVLFBERYdleuHBhtWrVSp06dbL6wdkRj/0HH3ygI0eOWEYC1KpVK90LmFqzfv16DRs2LMWrPdga3trCUVeN2L17tzp06KBmzZqpT58+SRapPHv2rObNm6fvv/9eixcvTnVqkHQvUGzRooXq16+fpstGJfL09FT27Nn16quvJnm/To610U4nTpxQ79699c8//yhnzpzKnz+/bt68qdu3b+u5556Tv7+/Qy6PmRh0BwcHp/p+9KCoqCjdvHlTefPmteukPqVrm2fLlk0FChRQxYoV7bo0cqKYmBjduHFDzs7OCgkJkZubm9UAXbo39S6lk/zEL2GuXr2qIUOGaN68ean+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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "df = pd.read_csv('data/usa-sentiment-vader.csv')\n", + "\n", + "state_abbreviations = {\n", + " 'Alabama': 'AL', 'Alaska': 'AK', 'Arizona': 'AZ', 'Arkansas': 'AR', 'California': 'CA',\n", + " 'Colorado': 'CO', 'Connecticut': 'CT', 'Delaware': 'DE', 'Florida': 'FL', 'Georgia': 'GA',\n", + " 'Hawaii': 'HI', 'Idaho': 'ID', 'Illinois': 'IL', 'Indiana': 'IN', 'Iowa': 'IA',\n", + " 'Kansas': 'KS', 'Kentucky': 'KY', 'Louisiana': 'LA', 'Maine': 'ME', 'Maryland': 'MD',\n", + " 'Massachusetts': 'MA', 'Michigan': 'MI', 'Minnesota': 'MN', 'Mississippi': 'MS', 'Missouri': 'MO',\n", + " 'Montana': 'MT', 'Nebraska': 'NE', 'Nevada': 'NV', 'New Hampshire': 'NH', 'New Jersey': 'NJ',\n", + " 'New Mexico': 'NM', 'New York': 'NY', 'North Carolina': 'NC', 'North Dakota': 'ND', 'Ohio': 'OH',\n", + " 'Oklahoma': 'OK', 'Oregon': 'OR', 'Pennsylvania': 'PA', 'Rhode Island': 'RI', 'South Carolina': 'SC',\n", + " 'South Dakota': 'SD', 'Tennessee': 'TN', 'Texas': 'TX', 'Utah': 'UT', 'Vermont': 'VT',\n", + " 'Virginia': 'VA', 'Washington DC': 'DC', 'Washington': 'WA', 'West Virginia': 'WV', 'Wisconsin': 'WI', 'Wyoming': 'WY'\n", + "}\n", + "\n", + "# map full state names to abbreviations\n", + "df['State Abbreviation'] = df['Filtered Location'].map(state_abbreviations)\n", + "state_counts = df['State Abbreviation'].value_counts()\n", + "\n", + "# plot number of tweets per state\n", + "sns.set(style=\"whitegrid\")\n", + "plt.figure(figsize=(12, 8))\n", + "sns.barplot(x=state_counts.index, y=state_counts.values, color='steelblue')\n", + "plt.title('Number of Tweets per US State')\n", + "plt.xlabel('US State')\n", + "plt.ylabel('Number of Tweets')\n", + "plt.xticks(rotation=90)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "bac7fdd1", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "coloraxis": "coloraxis", + "geo": "geo", + "hovertemplate": "State Abbreviation=%{location}
Average Sentiment=%{z}", + "locationmode": "USA-states", + "locations": [ + "AK", + "AL", + "AR", + "AZ", + "CA", + "CO", + "CT", + "DC", + "DE", + "FL", + "GA", + "HI", + "IA", + "ID", + "IL", + "IN", + "KS", + "KY", + "LA", + "MA", + "MD", + "ME", + "MI", + "MN", + "MO", + "MS", + "MT", + "NC", + "ND", + "NE", + "NH", + "NJ", + "NM", + "NV", + "NY", + "OH", + "OK", + "OR", + "PA", + "RI", + "SC", + "SD", + "TN", + "TX", + "UT", + "VA", + "VT", + "WA", + "WI", + "WV", + "WY" + ], + "name": "", + "type": "choropleth", + "z": [ + 0.032886263736263736, + -0.025924902723735408, + -0.030612741312741314, + -0.006408211997670356, + 0.018623368995175162, + 0.025472392156862745, + 0.010511840562719811, + 0.03260008750182296, + -0.001213893653516294, + -0.012985880800527818, + -0.023638472032742153, + 0.030506535947712417, + -0.020985786802030452, + -0.01486656891495601, + -0.007823389494549058, + -0.04869776401788786, + 0.007880297397769517, + -0.05641135857461025, + -0.040218644067796606, + 0.025471194762684123, + -0.0007682421227197349, + -0.03282586605080831, + -0.013968359375000001, + 0.03652208092485549, + -0.05436579710144927, + -0.06044254143646408, + 0.018348774509803923, + 0.0003259303012404017, + -0.10137971014492753, + 0.010161016949152545, + 0.023813793103448277, + -0.020946374045801526, + 0.06091165730337078, + 0.016689473684210525, + 0.0022549232536284852, + -0.038054590395480224, + -0.01650350194552529, + 0.0035215532286212927, + -0.01571655601659751, + 0.03793774193548387, + -0.05821441441441441, + -0.0645875, + -0.06306811926605504, + -0.013036528925619833, + 0.03084253075571177, + 0.016341365257259297, + 0.07411233140655106, + 0.010360404984423676, + -0.004126709401709402, + 0.015592307692307694, + 0.04750451127819549 + ] + } + ], + "layout": { + "coloraxis": { + "cmax": 0.1, + "cmin": -0.1, + "colorbar": { + "title": { + "text": "Average Sentiment" + } + }, + "colorscale": [ + [ + 0, + "rgb(165,0,38)" + ], + [ + 0.1, + "rgb(215,48,39)" + ], + [ + 0.2, + "rgb(244,109,67)" + ], + [ + 0.3, + "rgb(253,174,97)" + ], + [ + 0.4, + "rgb(254,224,139)" + ], + [ + 0.5, + "rgb(255,255,191)" + ], + [ + 0.6, + "rgb(217,239,139)" + ], + [ + 0.7, + "rgb(166,217,106)" + ], + [ + 0.8, + "rgb(102,189,99)" + ], + [ + 0.9, + "rgb(26,152,80)" + ], + [ + 1, + "rgb(0,104,55)" + ] + ] + }, + "geo": { + "center": {}, + "domain": { + "x": [ + 0, + 1 + ], + "y": [ + 0, + 1 + ] + }, + "scope": "usa" + }, + "legend": { + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "Average Sentiment per US State" + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import plotly.express as px\n", + "\n", + "state_sentiment = df.groupby('State Abbreviation')['Sentiment Score'].mean().reset_index()\n", + "state_sentiment.columns = ['State Abbreviation', 'Average Sentiment']\n", + "\n", + "fig = px.choropleth(state_sentiment, \n", + " locations='State Abbreviation', \n", + " locationmode=\"USA-states\", \n", + " scope=\"usa\",\n", + " color='Average Sentiment',\n", + " color_continuous_scale='RdYlGn', # red to green color scale\n", + " range_color=(-0.1, 0.1))\n", + "\n", + "fig.update_layout(title_text='Average Sentiment per US State')\n", + "fig.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "37476468", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "alignmentgroup": "True", + "hovertemplate": "State Abbreviation=%{x}
Total Sentiment Variation=%{y}", + "legendgroup": "", + "marker": { + "color": "steelblue", + "pattern": { + "shape": "" + } + }, + "name": "", + "offsetgroup": "", + "orientation": "v", + "showlegend": false, + "textposition": "auto", + "type": "bar", + "x": [ + "AK", + "AL", + "AR", + "AZ", + "CA", + "CO", + "CT", + "DC", + "DE", + "FL", + "GA", + "HI", + "IA", + "ID", + "IL", + "IN", + "KS", + "KY", + "LA", + "MA", + "MD", + "ME", + "MI", + "MN", + "MO", + "MS", + "MT", + "NC", + "ND", + "NE", + "NH", + "NJ", + "NM", + "NV", + "NY", + "OH", + "OK", + "OR", + "PA", + "RI", + "SC", + "SD", + "TN", + "TX", + "UT", + "VA", + "VT", + "WA", + "WI", + "WV", + "WY" + ], + "xaxis": "x", + "y": [ + 0.4807213078737545, + 0.4583222037590669, + 0.46135870466689316, + 0.48008857008351247, + 0.48726973350303304, + 0.47813013731172704, + 0.4856581509073384, + 0.47235464625406026, + 0.4639699911003796, + 0.473851571897275, + 0.4771417550044448, + 0.4688478939301934, + 0.49432838533044554, + 0.4601579148346334, + 0.4868021936721461, + 0.49101324061111085, + 0.474232941196742, + 0.49328103658434974, + 0.4935404279130382, + 0.48935248833594647, + 0.4701883889359509, + 0.4705358865265906, + 0.4891456398176479, + 0.4798607351811558, + 0.47820833687668207, + 0.47817554785775146, + 0.46625941951709765, + 0.46767076459969636, + 0.4480205045792482, + 0.4569560188935517, + 0.49252758230430216, + 0.4891161929863483, + 0.49802440003324444, + 0.47298593102013353, + 0.4695062798205936, + 0.4821816460579644, + 0.49109119747479185, + 0.49967014940691035, + 0.4787615819305842, + 0.4997504295217589, + 0.4944442113070985, + 0.4741276357691038, + 0.4627521638871309, + 0.4773880326203483, + 0.48231413655599287, + 0.48652328001704404, + 0.4971247771108648, + 0.481840565197997, + 0.47696142317831497, + 0.44562154531148523, + 0.4433564136504046 + ], + "yaxis": "y" + } + ], + "layout": { + "barmode": "relative", + "legend": { + "tracegroupgap": 0 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "Total Sentiment Variation by State" + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "title": { + "text": "State Abbreviation" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "range": [ + 0.4, + 0.5 + ], + "title": { + "text": "Total Sentiment Variation" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "variation = df.groupby('State Abbreviation')['Sentiment Score'].std().reset_index()\n", + "variation.columns = ['State Abbreviation', 'Sentiment Variation']\n", + "\n", + "# Create a bar chart using Plotly\n", + "fig = px.bar(variation, x='State Abbreviation', y='Sentiment Variation',\n", + " title='Total Sentiment Variation by State',\n", + " labels={'Sentiment Variation': 'Total Sentiment Variation'},\n", + " color_discrete_sequence=['steelblue'],\n", + " range_y=[0.4, 0.5]) \n", + "\n", + "# Show the figure\n", + "fig.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "c34b22c0", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABAMAAAMHCAYAAABMiJ62AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAD5RklEQVR4nOzdd3QU1f/G8WcTCEWadETF/ECCoffQpAmogNIRSUBEBOlFEAVpX5pUAwihGapSFBUURUAB6UUQpIUSQAKhQ4CE1Pv7g5OVQFCS7CaL836dkwOZmZ37mdnN7s6z9961GWOMAAAAAACAZbildQEAAAAAACB1EQYAAAAAAGAxhAEAAAAAAFgMYQAAAAAAABZDGAAAAAAAgMUQBgAAAAAAYDGEAQAAAAAAWAxhAAAAAAAAFkMYAAAAnMoYk9YlwAG4HwHgv4UwAACQJvz8/OTt7a0DBw4kur5OnToaOHBgqtQydepUeXl5pUpbSTVhwgRVrlxZZcqU0bfffptg3Y4dO+Tl5fWvPzt27Eib4iUdP35cbdq0SbP2k+vs2bP/el4XLVqUYNsVK1Ykuq/4++lR7ocLFy5o3Lhxevnll1W6dGlVr15dnTt31q5duxx6fEn1uN6PAICHS5fWBQAArCs2NlYffvihVqxYIQ8Pj7Qux+UEBQVp9uzZatWqlV5//XX93//9X4L1xYsX19KlS+2/Hzx4UCNGjNCQIUNUvHhx+/IiRYqkWs33+/HHH7V37940az+l3nvvPdWqVSvRdU8//bRD29qzZ4+6deumJ598Uu3atZOnp6du3LihZcuWyc/PTyNHjlSLFi0c2uajetzvRwDAgwgDAABpJmvWrDp27Jg+++wz9enTJ63LcTnXr1+XJDVs2FAVKlR4YH2WLFlUpkwZ+++RkZGS7l7837scyffss8+myrm8fv26evfureeee06BgYHKlCmTfV39+vXVtWtXDR8+XC+++KLy5s3r9HoAAP99DBMAAKSZF154QU2aNNGcOXP0559//uO2iQ0bWLFihby8vHT27FlJd7v7v/zyy1q3bp0aNWqkkiVL6vXXX9fevXu1b98+tWzZUqVKlVKjRo20bdu2B9pYt26dGjRooJIlS6ply5YPbHP9+nUNGTJEVatWVcmSJdWqVasHtvHy8tK0adPUvHlzlS9fXtOnT3/oMa1evVrNmjVT2bJlVa1aNQ0ZMkQ3btywH4ufn58kqX379qpTp84/np+HuX79ury9vTVv3jz7sosXL8rLy0t9+/a1LzPGqHr16poyZYqku8HCuHHjVLNmTZUoUUKNGzfW6tWrH9j/8uXL1bBhQ5UoUUK1atXS1KlTFRMTYz+GadOm2c/L1KlTJUlbt25V69atVbZsWVWsWFFdu3bVyZMnH3oM8d3wf/jhB3Xp0kWlS5dWzZo1NXXqVMXFxT1yPZI0cOBAtW/fXkOHDlWFChXUtGnTBOvTyrfffquLFy/qo48+ShAESJKbm5v69euntm3b6tatW/blBw4cUMeOHVW5cmWVK1dOXbp00bFjx+zrHzY8wc/Pz/7Yku7+bU2ZMkWffPKJqlatqlKlSqljx44KDg6W9PD78f7H+rRp01SyZElNmjQpQXuRkZGqWLGifR8AANdAGAAASFODBg1Szpw59eGHHyoqKirF+wsNDdWYMWPUpUsXffrpp7px44Z69uypvn37qlWrVpo0aZLi4uLUp08f3blzJ8FtP/roI7Vr105Tp07VE088oU6dOun48eOS7l7QtG/fXuvXr1efPn00bdo05c+fX++8884DgcCMGTPUoEEDTZo0SXXr1k20zunTp6tPnz4qXbq0pkyZom7dumnNmjXy8/PTnTt31LJlSw0ZMkSSNGTIkGRfSOXIkUNlypTR1q1b7cvi6925c6d92aFDh3Tp0iXVrl1bxhh169ZNS5YsUYcOHTRjxgyVLVtWffr0STBvwcyZM/Xxxx+rSpUqCggIUNu2bTV79mx73S1btrR3a1+6dKlatmypv/76S++9956KFy+uGTNmaOTIkTp58qTefffdBy7s7zds2DBlyZJFU6dOVZMmTTR9+nSNGzfukeuJt3v3bp0+fVpTp05Vt27dlC7dwztKxsXFKSYm5oGf2NjYfznzSfPbb78pV65cKlWqVKLrn3/+eQ0cONA+VGT79u1q06aN4uLiNGrUKI0cOVLnz5/XG2+8oRMnTiS5/QULFujkyZMaM2aMRo4cqT///NMeviV2P8a797Fer149vfTSS1q1alWCyQbXr1+vmzdvqkmTJkmuCwDgPAwTAACkqWzZsmn48OF67733HDJcICIiQkOHDtWLL74oSTpx4oQmTpyoUaNG2S9oYmNj1bNnTwUHB+uFF16w33bo0KFq2LChJKlKlSqqW7euZsyYoYkTJ+q7777TkSNHtGzZMpUuXVqS9OKLL8rPz08TJkzQ119/bd9PqVKl9O677z60xhs3bmjGjBlq2bKlhg4dal9etGhRtW3bVitWrNCbb75pH+tfpEgReXt7J/uc1KpVSzNmzFB0dLTSp0+v7du3q3jx4jp48KCCg4Pl6empTZs2KU+ePCpRooS2bt2q3377TZMnT9arr74qSapRo4YiIiI0YcIENWrUSBEREZoxY4Zat26twYMHS5KqV6+uHDlyaPDgwerQoYOef/555c+fX5LsXe1/+OEH3blzR507d1a+fPkkSQUKFND69esVHh6uLFmyPPQ4vL29NWHCBEl3z314eLgWLVqkrl27ymazPVI9khQTE6Phw4erUKFC/3ruBg0apEGDBj2w3N3dXYcOHXqU0/9ILly4kKQ5CCZOnKhnnnlGc+bMkbu7u6S7x1uvXj1NnTpVn376aZLaz5Ytm6ZPn27f15kzZzR16lRdu3ZN+fPnf+B+jHf/Y7158+ZavXq1duzYIR8fH0nSN998o8qVKzt8jgUAQMrQMwAAkObq1Kmj1157TXPmzNHBgwdTvL9y5crZ/587d25JCS9icuTIIUkKCwuzL3N3d1f9+vXtv2fIkEEvvvii/RP1bdu2KU+ePCpevHiCT4dr166tP//80969X7p7Uf9P9u3bp6ioKDVu3DjB8goVKqhgwYIOn/2/Zs2aCg8P1x9//CHp7qfK7dq10xNPPGGfpX7jxo2qXbu2bDabtm3bJpvNppo1ayb4NLxOnTq6dOmSjh07pr179yoiIkJ16tR5YBtJ2rJlS6K1lC5dWhkyZFCLFi00ZswYbd26VcWKFVOfPn3+MQiQpNdeey3B7w0aNFB0dLT27duXpHoyZsyoZ5999pHOXffu3fXVV1898LNs2TL7Njab7ZH29U/b2Wy2R+5tEB4ergMHDujVV1+1X7xLdy/oa9eunazHT8mSJRPsK/7iPyIi4h9vd/9jvWrVqnrqqaf03XffSbo7JGXLli1q2rRpkmsCADgXPQMAAC5h8ODB2rZtmwYOHJjgU/bkSOyiMmPGjP94mxw5cih9+vQJluXKlcseGFy/fl2XLl1KMEv/vS5duqTs2bNL+juAeJj44CCx7XLnzq2bN2/+4+2TysvLS0899ZS2bt2q3Llz69y5c6pSpYrKly+vHTt2qEGDBtq/f7/9E97r16/LGJMgVLnXxYsX7cfwsB4QFy9eTHT5008/rUWLFmnWrFlatmyZ5s2bp2zZsunNN99Ur1695Ob28M8p7p84L2fOnJLuhjrxQwwepZ5cuXI98gV8wYIFVbJkyX/cJn6M/8OGucQvv38ugPvb2b9//z+2c/78eRUoUEA3b96UMcahj5/E5imQ9K9DN+6vwc3NTc2aNVNgYKCGDh2qlStXKmPGjGrQoEGSawIAOBdhAADAJWTPnl3Dhg1Tt27dNGPGjES3uf+T0/DwcIe1H3+Bde9F4uXLl+0XnFmzZtVzzz1n76Z+v6R0gY4PDS5fvqzChQsnWHfp0iU988wzSS3/X8X3csibN6+ee+455cuXT5UrV9aCBQu0ZcsWpU+fXlWqVJF091gzZ86sBQsWJLqvQoUK6ffff5ckTZgwQc8999wD2/xTIFKqVClNmzZNUVFR2rNnj5YuXaqAgAB5eXnZhyUkJv7bFeJduXJF0t2L+/hvUkhOPSmVPXt2eXh4PDQACQ0NlSTlyZPnofuoUaOGfv31Vx04cCDR8OHYsWNq1KiR+vXrJ19fX9lsNl2+fPmB7S5dumTv+RL/WL7/gv727dt64oknHunYkqNZs2b67LPPtGnTJq1evVqvvvrqPwYhAIC0wTABAIDLeOmll9SoUSPNmjVLV69eTbAuS5Ys9ouqePEXpI4QFRWl7du323+/ffu2NmzYoMqVK0uSKlWqpPPnzytXrlwqWbKk/Wfbtm0Jxm0/itKlS8vDw0OrVq1KsHz37t06d+7cQz+RT4latWrpwIEDCY7Jx8dHFy5c0MKFC1WlShX7BVulSpUUHh4uY0yCY43/GsiYmBiVLl1a6dOn14ULFxJskz59ek2cONH+DQ/3f9I/b9481alTR1FRUfLw8FCVKlX0v//9T9LdT77/yS+//JLg9zVr1ihTpkwqXbr0I9fjDO7u7ipfvrzWrl2b6DcTrFmzRs8995y9631iXnvtNeXJk0ejR49+oGt+XFycxo8fr/Tp06thw4bKnDmzSpQoodWrVycIyG7evKkNGzaofPnykv7uIXPveb1x40ayJhj8px4b9ytYsKCqVKmihQsX6uDBgwwRAAAXRc8AAIBL+fjjj7V9+/YHPvWsXbu2Zs6cqYCAAJUpU0YbNmxI9OsBkyt9+vT66KOP1LdvX2XJkkWzZs3SnTt31LVrV0l3P+1ctGiROnTooC5duqhAgQLaunWrZs+eLV9f3weGGPyTHDly6N1339W0adOUPn161a1bV2fPnpW/v7+KFCmiZs2aOey44lWpUkXu7u769ddf7V/95u3trWzZsun333/XiBEj7NvWrFnT/pV/Xbt2VeHChbV//35NnTpV1atXt/eWeOedd+Tv769bt26pcuXKunDhgvz9/WWz2VSsWDFJd8exS9L333+v0qVLy8fHRxMmTFC3bt3k6+srd3d3LVmyRB4eHqpdu/Y/HsNPP/2k3Llzq2bNmtq5c6cWL16sPn36KHPmzMqcOfMj1ZNUZ86c0b59+xJdly1bNvvs/r169VK7du3Url07tW3bVvny5dO1a9e0atUqbd++/V+/DSJr1qwaO3asunfvrpYtW8rX11eenp4KDQ3Vl19+qX379mns2LEqWLCgJKlfv37q2LGj3nnnHfn6+io6OlqzZs1SVFSUunfvLunu8JACBQpo2rRpypo1q9zc3DRr1qxkfUp///34b71XWrRoob59++q5556zhxMAANdCGAAAcCk5cuTQsGHD7Bc08Tp37qyrV6/q888/V3R0tGrVqqVRo0bpvffec0i72bNnV//+/TVhwgRdunRJpUuX1qJFi+wXe5kzZ9bixYs1ceJEjR8/Xjdv3lTBggXVr18/vf3220lur0ePHsqdO7cWLVqk5cuXK0eOHHr55ZfVu3dvp3SpzpgxoypXrqxNmzapUqVKku5+2luhQgX98ssvqlWrln3b+ItGf39/zZw5U1euXFG+fPn01ltvqVu3bvbtevfurTx58uiLL77QnDlzlD17dlWpUkV9+/ZV1qxZJUn169fXd999p4EDB6pFixYaNmyYAgIC9Nlnn6lv376KjY1ViRIl9Pnnn9vP9cP06tVLO3fu1NKlS1WgQAENGTJEbdq0SVI9STVjxoyHDlupVauWZs6cKUkqW7aslixZolmzZmnMmDG6fv26smfPrlKlSmnBggWP1NujevXqWr58uT7//HPNnj3bPg9F8eLF9eWXX6ps2bL2batUqaLAwEBNmTJFffv2lYeHhypUqKBPPvnE/q0J7u7umjJlikaPHq2+ffsqd+7cat++vU6ePKng4OAknYfE7sd/UrNmTdlsNqcEWwAAx7CZe78IFgAAwMWcPXtWdevW1ZgxY7i4fEysXr1a/fv3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4uLi5Obm5tT6HrZvVzsniYmvMSWfuMWfY0lasWKF/P39NX36dMXFxaXq4/TIkSMaNGiQPQxwxQs4Y4xsNps2bNig9957T2+99ZamTZuWJrW40puhcuXKacCAATp//ry6du2aZoFAaGiopLt/DzabTTt37pSvr69u3LiRajXE/01euHBBFy5c0OHDh1Ot7fj2bTab1qxZo44dO2rw4MF6//33FRAQoPDw8FS7X+LPw6RJk1S3bl198cUXWrZsmcsFAok9zz8Oz/3x4u9vSZo6darmz5+vJk2aqEWLFipRosQD2z7K/m7evKnp06drx44dTqnZUe4NQX799VeHhOLx+9uwYYMWL16sVatWKTo6OsW1Jkf8fbt7925NnTpV48eP15UrV+Tm5ub018f4cxkRESEpZe8xHO3e+yk4ONg+/DUtxZ+vY8eOad26dQoKCrKfO2c/n8Tv/+zZs/rrr7907tw5p7Z3f7v/tiwtxf8Nbd++XR9//LFGjhxpDznT6tonvs2bN28qJiZGMTExDgnqCQNcWGxsrNzc3FS2bFn17dtX+fLlk6+vr65cuZKqF1rxT5y3b9/W//3f/+nIkSOaPXu2VqxYISltA4F7/wDi/9+3b19lyZJFc+bMsdfnDPFPFL///ruWLl2qwYMH66efftLZs2dd6sUvMffWPnXqVE2aNEl//fVXkvcR/9gYO3asRo0apZ9//lmBgYFq0aJFqgYCxYoVU9myZTV16lRJkru7u9PbTCqbzabffvtN3bp1U758+fT0009r5syZGjJkSKrWce/9tnTpUg0aNEjLli1TSEhIqtYh3f2bzZAhgxo3bqz27dunWSCwcuVKdezYUbt377YvO3bsmLJmzaqcOXOmSg3xf5Pr169Xjx495OfnJ19fX3Xr1i1BXc5ks9m0adMmDRgwQO+++67WrFmjsmXL6ptvvtHs2bN1+/btVLlfbDaboqKiJEl9+vTRc889p2XLlmn58uWpGs78k/j768CBA1q+fLm+/vprSa514fMwf/zxh6S/a71w4YLWr1+vQYMGqWXLlmrfvr1efPFFSdKPP/6o8PDwRz6urFmzqmfPnlq5cqX+/PNP5xxACt07LOLMmTN677339Mknn6TocR3/nDpu3DgNHz5cc+fO1cmTJxOct9R6Pot/bP7000/q1KmTfv31V/34449q1qyZ098/xre9ZcsWDRo0SO+88442btyo27dvO6W9pLg3CPD391eXLl3UsmVL9e7dO9Uugu8Xf75+/vlndejQQYMHD1aHDh20ZMkShYWFOfX9dXzb69atU8eOHdWmTRt98MEH2rhxo1Pau7/d/fv368svv9TixYsludZz571/Q507d9a1a9e0ceNGBQQE6Ntvv5WU+tc+8TVt3LhRXbp0Ufv27TVx4kTdunUrxa/LhAEu7N6UeebMmTLG6MyZM2revHmq9hBwc3PT+vXr1bhxY9lsNrVo0ULp06fXkiVLtGTJEklpFwjEn6N7L3Dc3d1Vvnx57dmzx6ltxz+Bv/fee9q2bZtCQkI0fvx49e7d22XesN7v3t4Aa9asUadOnbR//34dPnxYHh4eiW77MPFP3EeOHNGBAwe0ePFiffnll/L399eNGzfUvHlzpwQC9+8r/vd27dopIiLC/omUq6XMISEhOnnypPr3769x48Zp3Lhx+uSTT/Tdd9+laiAQf79NmTJFn3zyiU6ePKkRI0ZoxowZCgoKSrU67u254+HhocaNG6tDhw4KCQlJ9UAgffr0ypEjhz799FPt3LkzwfL4WiXnPqZsNps2b96svn376vXXX9f8+fM1cuRIrV+/XtevX3fKJ4y//PKLfbiKMUYRERH68ssv1aVLF7Vr104ZMmTQ8ePHlS1bNv3888+aO3euIiIiUuV+8fDw0Pfff6+3335b0t2hNbNmzdKyZct07do1p7b9b+59o/jWW2/p888/16BBg/T+++/bQwxXNXjwYH399dcJHsvXr1/X6dOn9fTTT0v6+/EeHh6uqVOnaubMmY+07/jnltKlS6tIkSL2EMuVemrd+17B399f06ZNU/r06TVv3jwNGzYsRftetGiRvv32W02dOlW//PKL2rZtq/Pnz2vNmjW6fv16qj2fxfcIGDJkiAYNGqQVK1bo448/1oULF9SyZUuHz0F172Mp/r1Fly5dFBsbq9u3b6tv37768ccf02xoXHx98ff7pEmT9MUXX6hjx47y9/fXxo0bNW3aNHvvsNQUH8D2799fHTt21Pr161W+fHktWrRIX331lVMDgfjwuXfv3mrevLnef/99SXfPz6ZNmxzenvTgc+fixYs1cuRIde/eXeHh4U5pMym1xYsPK0aOHKnBgwcrICBAY8aM0aFDh7R48eIE4a+z/6bvfd/+888/q1u3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RYsWqV27dho2bJhWrFihmTNn2gOBd999V+fPn9ebb76p6Ohop130pUuXTuvXr1fr1q1VqVIl+fr6ysPDQ+vWrVOtWrU0Z84cffDBB3ryySd14MABzZgxQ9myZUtxu/c+RmJiYpQ+fXpVqVJFGzdu1EsvvaTatWvbuy2Hh4crV65cyp07d4rbjW/bGKMcOXLoypUratiwoSZMmCAPDw8NHDhQ1apV0y+//KKoqCj72PHLly+rUaNG8vf31zPPPOOQOv7J1atXdf36dft5in+DOGjQIHl4eGjevHlauXKl07toHjp0SOvXr1emTJnsy2JiYrR79277G7W5c+eqSJEiGj16tDp16qRVq1apS5cuqTbXw7+5ePGitm/fri5duujUqVOS7r4GxMXFaeHChdq7d6+6du0qLy8v+zCR6dOny9fXV9evX1e7du3s+7p3vP1nn32mXr16qUOHDvrqq6/Utm1b7d27V506ddLIkSPl7u7utOeRpLj3wu706dNyd3dXUFCQrl69at8mLi5OVapUUYsWLfTFF1/YLyIf1g04fn/Lli2Tv7+/JOm9995T2bJl9dNPP9nD9bfeekteXl7KmTNngseQI8TExChv3ryaNGmSPD09tXfvXvt45nbt2snX11chISEKCgpS5cqVlTt3buXIkUOVK1dWkyZN9Pzzzye77cjISD377LN65ZVXEiwPCgrSrVu3FBUVpe+++07ZsmVTmzZt1L9/f0VGRmrixIkKCAhIleE0jRo10pQpUyTdDRclKVeuXMqbN68uXryoH3/8UQULFpSPj49y586tLFmyaMWKFVq/fr1T6ilRooR+/vln5cuXTydPnpQkZcqUSWXLllXevHm1a9cuXblyRdWqVZMkFS1aVDabTdeuXUvx61+7du00c+ZMZcmSRVeuXFFUVJQiIyNVqlQpPfHEE/rll18UExOjBg0aqHLlynruued05coVffrppwn+TpIiMjJSq1at0q5duyTJPgHsgQMH7IFyYGCg/u///k/Dhw9X586dtXbtWnXs2DHVP0wbPHiwihUrpt9++00//PCDJKlFixZq3Lixrl27pp07d6pChQqS7r4WeXt7q3379vLz83NKPS+++KLatGkjDw8P+2SSt27dUt68eXXp0iV99913ypAhgzp37qwOHTrI3d1dy5Yt0zvvvJO8IDrJfQngNPFdku7tCrR582ZTr149s2jRIns3bGPudnVq27at6dy5s72LrSNrOHXqlNm9e7e9C+maNWuMl5eXmTNnToIukB9//LEZN26cuXjxosNqeBSffvqpqVevnilTpox5//33E3SDP3jwoPnqq6/M66+/bry8vEzXrl0TdC9PjvjzEhoaao4fP27OnTtnrly5Yl588UXj5eVl/ve//9m3i4qKMu3atXN4t96UWLlypWnWrJnp3bu3OXLkiImOjjbz5s0zHTp0MJ9++mmCrsLdunUzkyZNMsb8fdz3PjaPHz9uihcvbnr27GlOnjxpoqOjzYIFC0zt2rXN+++/n6Ddex/LKR3OEhcXZ3799VdTvnx5061btwTrNm/ebAYOHGgaNWpkvLy8TPXq1VP9MXlvncYYs3PnTjNz5kzTrVs3M3fuXHt3xYkTJxovLy97d9LUcvbsWfPqq6+agwcPmu3bt5uBAweaqlWr2rtzxvviiy9Mly5dnNo1f9euXaZ+/frmwIEDxhhjjhw5YooXL26KFStm+vbta0JDQ01MTIz54osvTJ8+fZxay6lTp0znzp3NzJkz7cvWr19vWrdubapXr2727t2bYPuwsLAUtxn/GNm6dasZPXq0adeundm2bZv55ptvjI+Pj3n99dfNiRMn7NtPmjTJNG3a9IFugym1YcMGs2HDBvPNN9+YEiVKmLFjx9qP75133jFdunQxhw4dMmPHjjVVqlQxp06dcmj78eLPR0REhL2rY2RkpKlbt669m2a8S5cumbffftsMHDjQPizM2W7cuGGMuTu0Iv4x+9NPP5k1a9aYffv2mffee8/8/PPPxhhjFi5caF577TXTrFkzc+bMmVSp71EEBwebN954w9SuXdv+nmHr1q2mRYsWxs/Pz/zxxx/m9u3bZunSpcbX19e8++675uOPP7a/3t///L1161bTvXt3s2HDhgTL419bBgwYYLy8vIyXl9cDzzGp6d7njgkTJphOnTqZCxcumP/973/G19fXHD58OMH206dPNy1btjQlSpSwvw4+TFhYmOnVq5epX79+gufzyMhIEx4ebsLCwuzdi9u0aePQ57EbN26YwMBAc/nyZXub7dq1M40aNTI//vijfbtFixaZqlWr2rtfjxkzxvTo0SPF74mM+fvcbty40f4eyJi7XeEvXbpk/Pz8zJIlS0xUVJQ5duyY8fX1NRMnTjR//fVXittOitWrV5tKlSqZ/fv3G2PuDsEKCwszjRs3NmvWrDHGGHP+/HnTq1cvs2vXLqcPSzt37pzx8vKyDw2Mvy8+/vhj069fP/t2gwcPNjNnzkzx8JJ737Pv3bvXVK1a1axdu9YYY8xff/1lIiMjTefOnc2IESPs23fr1s0sWrQoxW336tXLlC5d2kyaNMm8++675sqVK2bDhg3m559/Nvv37zddunQxP/30kzHGmKVLl5qmTZua1q1b24cwOdv9Q0EGDRpkvLy8zKpVq+zLVq9ebWrXrm3Cw8ONMXdfj3v06OG0YT/31rRhwwbTr18/c/78eRMZGWl27dplrl69avz8/ExgYKCJi4szoaGhxs/Pz6xYscKcO3cuWW0SBriI+Dt/x44dZvjw4Wbq1Klm3759JiYmxvTo0cM0btzYBAYGmsjISHP79m0zceJE0759e6eMv1qzZo3x8fExlStXNmXKlDHffvutiYqKMjNnzjReXl6mZ8+eZsSIEWbQoEGmdOnSqfJHe++Tc2BgoKlUqZJZsGCBmT17tqlUqZLp0qXLA38EERERZs6cOaZt27YJLnaTKv6++fnnn02jRo1MlSpVTOfOnc3OnTvNwoULTY0aNUy/fv3MlStXzNGjR42/v7/x8fFx2hvnpIh/EQgNDTWDBg0ylSpVMt27d08QIMXGxpr9+/ebS5cumfHjx5tKlSoluBBJ7IVx1apVplatWqZPnz7mxIkTJioqysyfP98+dslR7m87JibGHgj06NEjwfi3mzdvmkuXLplx48aZhg0bmrlz5xpj0mYeizVr1pjy5cubQYMGmX79+pmGDRuaSpUqmbCwMHP16lUzYcIE88ILL5iAgIBUqScgIMAMHDjQDB482L7syJEjZuDAgaZatWoPvFlPLJhMifv38+OPP5omTZqYyMhIc/jwYdO5c2fz448/mm3bthkvLy8zZMgQs3nz5n/chyOcOXPGtGjRwpQtW/aBc7Bhwwbj6+tr2rVrZ7Zs2WJf7qjH09q1a02ZMmXMwIEDTd++fe2P14ULF5ratWubpk2bmm7dupnOnTub8uXLm0OHDqW4zbi4OHv9QUFBpnjx4mbRokXGmLtzcBQrVsyMHTvWxMXFmS1btphSpUqZ2rVrm9q1aycYD+5I8fVs2LDBvP3226Z169b2v4sNGzaYSpUqmfbt25v9+/ebAwcOOC0YScy9j7n48bXNmzc3R44cMcbcfT6aMGGCadKkiX27ESNGmKlTpyZ4bnIVJ0+eNK1btza1atWyP8dv2bLFtGzZ0vj5+ZmdO3fat723/nsvJuLi4uxz8twfat5/zL/99pvp2rWrGThwoImJiUmT5+J4v/zyi3nzzTfNH3/8YYy5e8Fat25d89FHH5k///zTGHP3NaRTp05m1qxZZv78+eall14yZ8+efSAUv9eZM2fMxx9/bF599VX74/b69etm1KhRpkKFCqZ58+amWbNm9nPjqDmeLl++bFq3bm0GDBhgFi1aZFavXm2OHz9u/xv67rvvjDHG/PDDD6ZBgwZm7Nix5uOPPzaVKlVyyLww8efi1q1bJjAw0Hh5eSWYc2LDhg2mdOnS9r+hyZMnm7feeitV5gy493767bffzOLFi81bb71lXn31VXv4ExQUZMqUKWPWrl1r7ty5Yzp37mx8fX3tt3XmXFyRkZFmwYIFplSpUgnOWYcOHUynTp3MmTNnzNixY42Pj49T3l83btzY1KxZ0/z6668mMjLS3Lx50zRo0MB8+eWX5vr162bq1Kmmfv365uzZs8naf/xrebzXXnvNeHl52efDiYyMNLGxscbf3980bNjQvt3//vc/M3HixFR77oyNjbXf3/d++Dl06FBTsmRJeyCwY8cOU6xYMfPBBx+Ynj17mvLlyz8QIjrLL7/8Yry8vMyAAQPs9QUFBZlq1arZg+mpU6eali1bPjA3WFIQBriQtWvXGm9vb/PGG2+YcuXKmRYtWpiNGzeaO3fumN69e5u6deuaMmXKmNatW5tKlSo55M1hvPg/iJMnT5py5cqZwMBA89tvv5khQ4aYkiVLmm+//dbExsaaDRs2mM6dOxs/Pz/Tr18/+5ui1PL777+bhQsX2pPE+GUVK1Y0Xbp0sU/+Ev8CFBkZaapVq5biT+l37NhhypQpY7788kuzd+9es3XrVvuLxcKFC039+vVN8eLFTd26dU2DBg2c9sY5OX744QdTrVo1++RBFSpUMD179rS/Kfr2229NrVq1zCuvvGLq1auXoPZ73wwfP37cHDp0yP7GcNWqVaZ69eqmT58+5uTJkyYqKsosXLjQlCxZ0j4ZTkrc23ZQUJAJCQmxf0L3yy+/mPLly5uePXsmOsnc2LFjjZ+fX4prSE69p06dMvXr1zdffvmlMebuJDCVKlUyn376qTlz5oy5du2auXXrlhk5cqQpX768uXbtmsPfJN9/4Txt2jTj7e1tmjZtmuAToSNHjpgPP/zQvPjii+aLL75IcBtnvHGPb/unn34yvr6+5vLly+bTTz81I0eONKdPnzbXrl0zlSpVMhUrVjRDhgxxePuJmT17tqlSpYp54403HuhltX79etOkSRPTsWPHBD2zUurChQumadOm9gtxY/4+Nzdv3jSLFi0y48aNM2+//bYZP358gkk7k+PmzZsJ7s9NmzaZoUOHJngjaszfgcC4ceNMZGSkuXjxoj0odKaNGzcab29v07dvX9O1a1fj7e1txo4dayIjI82WLVvMq6++aipVqmR/fo1/E5TavvnmG9O2bVvj5+dnf56cOXOmadasmVm6dKn55JNPTJUqVUxQUFCa1He/xAK006dPmxYtWjwQCLRq1cq8/fbb9k9K48XFxSW6n40bN5oXX3zRvPnmm2b37t0PbXPDhg2mfPnyaRqOb9y40bz00kvm9ddfT9CzZ9myZaZRo0amTp06pnXr1qZx48amUaNGxpi7rzGNGzdOtCfQvWG5MXcDgY8++sg0bNjQHo6cOHHCBAYGmrVr19rfKzhyYsmYmBizcOFC89JLLxkvLy8ze/ZsY4wxhw4dMu3btzetW7c2a9asMZGRkaZnz56mdevW9slRHeW3334zY8eONTExMSYwMNAUK1bMfsEXGhpqqlWrZpo0aWK/gHLke9aHufd5bvr06aZhw4bm1KlTZvPmzeatt94y9evXt4c/HTt2NKVKlTIvvfSSadKkif0i1NHBc3xNV65cMZGRkfbn+i+++MK88MIL9nO2du1aU65cOVO7dm1Tp04dh7yPjG87KioqwWtYq1atTPXq1c2vv/5qjLk7OauXl5d59dVXTeXKlZPVdlxcnAkJCTFly5Y1nTp1Mrt27bJPTvrKK6+YypUrm40bN9rP7/z5802TJk3M/Pnz7eFHajx3btmyxf6aFhsba06dOmXKly9v7zlizN1eGiVLljTfffeduXPnjlmwYIF54403TPfu3Z0aBNz7+I0/T+vXrzfFihUz/fv3N+fOnTM3btww1atXN7Vq1TJvvvmmqVChQor/tggD0ti93c87dOhgn9UzKCjItG/f3rRs2dJs2LDBxMXFmcOHD5vAwEDz888/O6Wb1c6dO81PP/30wBvEYcOG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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "eu_df = pd.read_csv('data/eu-sentiment-vader.csv')\n", + "\n", + "country_counts = eu_df['Filtered Location'].value_counts()\n", + "\n", + "# plot number of tweets per state\n", + "sns.set(style=\"whitegrid\")\n", + "plt.figure(figsize=(12, 8))\n", + "sns.barplot(x=country_counts.index, y=country_counts.values, color='steelblue')\n", + "plt.title('Number of Tweets per EU Country')\n", + "plt.xlabel('Country')\n", + "plt.ylabel('Number of Tweets')\n", + "plt.xticks(rotation=45)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "da00bd24", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "coloraxis": "coloraxis", + "geo": "geo", + "hovertemplate": "ISO3=%{location}
Average Sentiment=%{z}", + "locations": [ + "AUT", + "BEL", + "BGR", + "CYP", + "CZE", + "DEU", + "DNK", + "ESP", + "EST", + "FIN", + "FRA", + "GRC", + "HRV", + "HUN", + "IRL", + "ITA", + "LTU", + "LUX", + "LVA", + "MLT", + "NLD", + "POL", + "PRT", + "ROU", + "SVK", + "SVN", + "SWE" + ], + "name": "", + "type": "choropleth", + "z": [ + -0.029959541984732822, + 0.0025316593886462895, + -0.10469999999999999, + 0.2413851851851852, + 0.06896250000000001, + 0.022884856943475224, + 0.07354534161490683, + 0.0307836902800659, + 0.046411764705882354, + 0.049992055084745766, + 0.007131188925081434, + -0.0004161290322580638, + -0.06722307692307693, + 0.0622825, + 0.03345647442872688, + 0.009780855397148677, + -0.18775555555555556, + 0.15618205128205126, + 0.11986666666666668, + 0.09331333333333335, + -0.04276348733233979, + -0.078615, + -0.01644747474747475, + -0.10628750000000001, + 0.2203, + -0.114825, + 0.04210408602150537 + ] + } + ], + "layout": { + "coloraxis": { + "cmax": 0.3, + "cmin": -0.2, + "colorbar": { + "title": { + "text": "Average Sentiment" + } + }, + "colorscale": [ + [ + 0, + "rgb(165,0,38)" + ], + [ + 0.1, + "rgb(215,48,39)" + ], + [ + 0.2, + "rgb(244,109,67)" + ], + [ + 0.3, + "rgb(253,174,97)" + ], + [ + 0.4, + "rgb(254,224,139)" + ], + [ + 0.5, + "rgb(255,255,191)" + ], + [ + 0.6, + "rgb(217,239,139)" + ], + [ + 0.7, + "rgb(166,217,106)" + ], + [ + 0.8, + "rgb(102,189,99)" + ], + [ + 0.9, + "rgb(26,152,80)" + ], + [ + 1, + "rgb(0,104,55)" + ] + ] + }, + "geo": { + "center": {}, + "domain": { + "x": [ + 0, + 1 + ], + "y": [ + 0, + 1 + ] + }, + "scope": "europe" + }, + "legend": { + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "Average Sentiment per EU country" + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import plotly.express as px\n", + "\n", + "country_code_mapping = {\n", + " \"Austria\": \"AUT\",\n", + " \"Belgium\": \"BEL\",\n", + " \"Bulgaria\": \"BGR\",\n", + " \"Croatia\": \"HRV\",\n", + " \"Cyprus\": \"CYP\",\n", + " \"Czech Republic\": \"CZE\",\n", + " \"Denmark\": \"DNK\",\n", + " \"Estonia\": \"EST\",\n", + " \"Finland\": \"FIN\",\n", + " \"France\": \"FRA\",\n", + " \"Germany\": \"DEU\",\n", + " \"Greece\": \"GRC\",\n", + " \"Hungary\": \"HUN\",\n", + " \"Ireland\": \"IRL\",\n", + " \"Italy\": \"ITA\",\n", + " \"Latvia\": \"LVA\",\n", + " \"Lithuania\": \"LTU\",\n", + " \"Luxembourg\": \"LUX\",\n", + " \"Malta\": \"MLT\",\n", + " \"Netherlands\": \"NLD\",\n", + " \"Poland\": \"POL\",\n", + " \"Portugal\": \"PRT\",\n", + " \"Romania\": \"ROU\",\n", + " \"Slovakia\": \"SVK\",\n", + " \"Slovenia\": \"SVN\",\n", + " \"Spain\": \"ESP\",\n", + " \"Sweden\": \"SWE\"\n", + "}\n", + "\n", + "eu_df['ISO3'] = eu_df['Filtered Location'].map(country_code_mapping)\n", + "\n", + "eu_sentiment = eu_df.groupby('ISO3')['Sentiment Score'].mean().reset_index()\n", + "eu_sentiment.columns = ['ISO3', 'Average Sentiment']\n", + "fig = px.choropleth(eu_sentiment, \n", + " locations='ISO3', \n", + " scope=\"europe\",\n", + " color='Average Sentiment',\n", + " color_continuous_scale='RdYlGn', # red to green color scale\n", + " range_color=(-0.2, 0.3))\n", + "\n", + "fig.update_layout(title_text='Average Sentiment per EU country')\n", + "fig.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0ba25a0a", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1eb52349", + "metadata": {}, + "outputs": [], + "source": [ + "# " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}