Skip to content

Instantly share code, notes, and snippets.

@jayhuang75
Last active August 31, 2023 18:35
Show Gist options
  • Select an option

  • Save jayhuang75/2aceb15d40fd98356cad49ad6479ba98 to your computer and use it in GitHub Desktop.

Select an option

Save jayhuang75/2aceb15d40fd98356cad49ad6479ba98 to your computer and use it in GitHub Desktop.
rust_duckdb_demo_sentiment_analysis
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### See the sentiment trend of news articles or titles from January 2018 to May."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div><style>\n",
".dataframe > thead > tr > th,\n",
".dataframe > tbody > tr > td {\n",
" text-align: right;\n",
"}\n",
"</style>\n",
"<small>shape: (2, 2)</small><table border=\"1\" class=\"dataframe\"><thead><tr><th>sentiment</th><th>counts</th></tr><tr><td>str</td><td>i64</td></tr></thead><tbody><tr><td>&quot;negative&quot;</td><td>209141</td></tr><tr><td>&quot;positive&quot;</td><td>97101</td></tr></tbody></table></div>"
],
"text/plain": [
"shape: (2, 2)\n",
"┌───────────┬────────┐\n",
"│ sentiment ┆ counts │\n",
"│ --- ┆ --- │\n",
"│ str ┆ i64 │\n",
"╞═══════════╪════════╡\n",
"│ negative ┆ 209141 │\n",
"│ positive ┆ 97101 │\n",
"└───────────┴────────┘"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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5kw99NBD+tOf/qRVq1YpLS1N//nPf464/bKyMl1++eVasmSJli5dqszMTJ1++ukqK2uYRlyxYoUk6bnnnlNOTs7ht7/r5JNPVnx8vN5+++3D7/N4PHr99dc1ffp0SdLOnTs1efJknXvuuVq/fr1ef/11LVmyRDfddJP/HzSL8/l8+nJHvma8ukajH/5U93+wiWlbWNaKPUW67e31GvXQJ/rNm+u0bFeB6UgAfgRTujY2fvx4eTweff7554ffN3r0aE2YMEFTp07VlClTdPDgQYWFhR3+eJ8+fXTbbbfp2muv1THHHKORI0fqn//85+GPH3/88SovL//JxRZer1fx8fF65ZVXNHXqVEk/PqX7/UUbt9xyizZs2KBPP/1UUsOo3xlnnKHc3FzFx8fr6quvltvt1lNPPXX4NpYsWaITTzxRFRUVCg93/mrBg6XVenPVfr2xcp/2FlSajgO0WkZipM4b0UPnjuihrnERpuMAkMR5OzY3ePDgI97u2rWrDh48qHXr1qm8vPwHiyaqqqq0c+dOSdLWrVt14403HvHx0aNHa8GCBYffzsvL0913362FCxfq4MGD8ng8qqysVFZWVotyTp8+Xcccc4yys7PVrVs3zZw5U1OmTFF8fLwkad26dVq/fr1mzpx5+Gt8Pp+8Xq92796t/v37t+j+7MLj9Wnh1oN6dfk+Ldx6UPUssYUD7Cmo1F/nbdNj87fp+MxknT+ih04Z2FlhwezxB5hC4bO5kJCQI952uVzyer0qLy9X165dtXDhwh98zf9KVnNcfvnlKigo0N/+9jelp6crLCxMY8eOVW1tbYtyjho1Sr1799Zrr72mG264QbNmzdLzzz9/+OPl5eW67rrrNGPGjB98bVpaWovuyw72FVbq9RX79Naq/cotrTYdB2gXXp+0eNshLd52SPGRITpjSDddNDpN/buyxQvQ0Sh8DjV8+HDl5uYqODj48EKK7+vXr59WrFihyy677PD7vn8N3hdffKF///vfOv300yVJ+/btU35+/hGfExISIo+n6VMcpk+frpkzZ6pHjx4KCgrSlClTjsi7adMm9enTp7l/RdvxeH2auzFXryzL0hc788XFFAgkxZV1evGrvXrxq70al5mk607oreMzk0zHAgIGizYcauLEiRo7dqzOOusszZs3T3v27NGXX36pu+66SytXrpQk/fKXv9Qz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",
"text/plain": [
"<Figure size 800x800 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import duckdb\n",
"import polars as pl\n",
"import matplotlib.pyplot as plt\n",
"\n",
"con = duckdb.connect('../db/us_financal_news.db')\n",
"duckdb_to_arrow = con.query(\"\"\"select sentiment, COUNT(*) as counts from sentiment group by sentiment;\"\"\").arrow()\n",
"polars_df = pl.DataFrame(duckdb_to_arrow)\n",
"\n",
"display(polars_df)\n",
"\n",
"# polars_d\n",
"plt.figure(figsize=(8,8))\n",
"\n",
"# plot a Pie Chart for Registration Price column with label Car column\n",
"plt.pie(polars_df[\"counts\"], labels = polars_df[\"sentiment\"], autopct='%1.1f%%')\n",
"plt.show()\n",
"\n",
"con.close()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.10.4"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment