2021-10-07 13:06:21 +00:00
{
"cells": [
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 1,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import sqlite3\n",
"import numpy as np\n",
"from matplotlib.pyplot import figure\n",
"\n",
"import warnings # current version of seaborn generates a bunch of warnings that we'll ignore\n",
"warnings.filterwarnings(\"ignore\")\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"sns.set(style=\"white\", color_codes=True)"
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 2,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [],
"source": [
"conTXs = sqlite3.connect('../../../../../../datasets/nfts.sqlite')"
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 3,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [],
"source": [
"transfers = pd.read_sql_query(\"SELECT * FROM transfers\", conTXs)"
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 4,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [],
"source": [
"num_df = (transfers[[\"transaction_value\", \"timestamp\"]].apply(pd.to_numeric, errors='coerce'))\n",
"num_df[\"timestamp\"] = pd.to_datetime(num_df.timestamp, unit='s', errors='coerce')\n",
"num_df.set_index(\"timestamp\")\n",
"num_df = num_df.resample(\"1440min\", label='right', on='timestamp').sum()\n"
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 5,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'NFT transfers value over time')"
]
},
2021-10-07 16:57:01 +00:00
"execution_count": 5,
2021-10-07 13:06:21 +00:00
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAsoAAAGECAYAAAAvLAbBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABgRUlEQVR4nO3dd3hUVf4G8Hf6pEx6SEJJ6EQ6UgREEEHpVVhdESuia1ndRX+gsoq4uOq661pRV11dV9fVFVGUtRBEKdJRhNBLCqTXyfS5c35/TGaSkEnDzNw7+H6ex0eYmdx77r2Ib775nnNUQggBIiIiIiJqQC33AIiIiIiIlIhBmYiIiIgoAAZlIiIiIqIAGJSJiIiIiAJgUCYiIiIiCoBBmYiIiIgoAAZlIlKU/Px89OnTBx9++GGD19944w0sW7YMALBmzRoMHToUs2bNavBPVlYWfvvb3/p/36dPH8yYMQOzZs3CwoULG53rxRdfxIYNG4J+TZIk4Te/+Q0mTZqEf/3rX0E/X0t27NiB6dOnyz2M81L/mT333HNYu3atvAMioguaVu4BEBGdS61W46mnnsKwYcPQrVu3gJ8ZNmwYXn311UavT5gwwf/rPn364O2330ZCQkLAY+zYsQM9e/Zsn0E3o6ioCFu2bMEPP/wAjUYT9PNdyOo/s3vvvVfm0RDRhY5BmYgUx2g04uabb8aSJUvw/vvvQ6/Xt/s53n33XRw4cABPP/00NBoNsrKyUFlZiby8PFx++eWYN28eVq5cCavViuLiYmRmZuJvf/sbDAYDBgwYgMWLF2Pr1q0oLi7GDTfcgJtuugklJSVYunQpKioqAADjxo3DokWLsGjRIrjdbsydOxcvvPACXC4XVq1ahcrKSkiShIULF2LevHnYsWMHVq1ahcjISFitVrz77rt4+OGHkZOTA7VajX79+mHlypVQq+t+GLhlyxY89dRTWLduHQCguroaEyZMwIYNG7B37168+uqrcDqdKC8vx+zZs3Hfffc1uA/Lli1Dr169cOuttzb6fVFREVauXImCggK4XC5MmzYNd9xxR6N7WVhYiBUrVuDMmTMQQmD27NlYtGgR/vrXv6KmpgaPPPIIAOC7777DCy+8gA8//BB79+7FM888A5vNBpVKhXvuuQfjx4/HmjVr8N///hc2mw3R0dF45513mn1mvrEOGDAAN910EzZt2oSamho88MAD+OKLL3D06FF06NABr7zyCiIjI3HixImA956IKCChYGazWUybNk3k5eU1+7mvv/5azJw5U8yYMUP85je/EZWVlUIIIXbv3i3mzp0rZs6cKW644QaRn58fimET0c+Ql5cnBg8eLCRJEtddd5148sknhRBCvP7662Lp0qVCCCE++ugjcfHFF4uZM2f6//nDH/7Q6Fi9e/cWZWVlTZ7r+uuvF//73/+EEEIsXbpU3Hjjjf73nnzySbF27VohhBBOp1NMnz5dfPHFF/7jvvPOO0IIIX766SfRv39/YbfbxYsvvugfh8ViEffdd5+orq72X5MQQrhcLjF16lRx4MABIYQQ1dXVYsqUKWLfvn1i+/btIjMz0/931ccffyxuueUWIYQQbrdbPPzww+L06dMNrsHj8Yjx48eL/fv3CyGEePfdd8WSJUuEx+MR119/vTh16pQQQojCwkJx0UUXibKyMrF9+3Yxbdo0/3W//vrr/uPV//3ChQtFVlaWEEIIu90uFi5cKD7//PNG93HBggXizTff9F/PjBkzxGeffSZyc3PFJZdcIhwOhxBCiHvvvVd88MEHorKyUlx11VX+v9sLCwvF2LFjxZkzZ8RHH30khg8fLsxmc6uemW+svXv3Fm+//bYQQohXX31VDBkyRBQWFgpJksScOXPEp59+2uy9JyIKRLEV5R9//BHLly/H6dOnm/1cTU0NVqxYgY8++ggpKSl47rnn8MILL2D58uV44IEH8PLLLyMzMxP//e9/8cc//hGrV68OzQUQ0c+iVqvx5z//GXPmzMGYMWMavd9U68XPMXToUP+vH3jgAWzduhV///vfcfr0aRQXF8Nqtfrf97V49OvXD06nE1arFZdddhkWL16MgoICjB49GkuWLIHJZEJVVZX/606fPo3c3Fw89NBD/tfsdjuys7PRo0cPpKWloVOnTv7xPPvss1i4cCFGjx6NG2+8ERkZGQ3GrFKpMG/ePHz88ccYMGAA1qxZgwceeAAqlQqvvPIKNm3ahM8++wwnTpyAEAI2m61V98JqtWLXrl2oqqrCc88953/t8OHDmDp1aoPP7d27F2+++SYAwGQyYe7cufjuu+8wbdo0ZGZmYuPGjRg1ahS+//57rFq1Crt370ZJSQnuuuuuBtdx5MgRAN6Wmejo6FaNs75JkyYBANLT09G7d2+kpKQAADp37oyqqqpm7/3gwYPbfD4iuvApNih/8MEHePTRR/F///d//tfWrl2Lt99+Gx6PB/369cOjjz4Kl8uFFStW+P9C7NOnD9atWwen04l7770XmZmZ/teVMImGiFqvY8eOWLFiBZYuXYrZs2cH/XyRkZH+X//+97+HJEmYMmUKLr/8chQUFEAI4X/fYDAA8AY8ABBCYODAgcjKysL333+P7du3Y/78+XjppZfQoUMH/9dJkoSYmBh88skn/tdKS0thMpnwww8/NBhDly5d8PXXX2PHjh3Yvn07br75ZixfvhyTJ09uMO6rr74as2fPxvz582E2m3HJJZfAarVizpw5mDhxIoYNG4arr74aGzZsaHANvvHXf83lcgEAPB4PhBB4//33ERERAQAoLy/3X7eP73PnvuZ2uwEA8+fPx9q1a1FWVoYrr7wSUVFRkCQJPXr0aDBhs6ioCAkJCVi3bl2De9AWOp0u4K99mrv3RESBKHbVi1WrVmHYsGH+3x87dgwffPAB3n//fXzyySdITEzEG2+8gfj4eEycOBGAtzLw2muvYeLEidDr9Zg1axYA71/aL774ov9zRBQ+pkyZgrFjx+Ltt99u92NrNBp/oDvXli1bcNddd2Hq1KlQqVT48ccfIUlSs8d75pln8PLLL2PixIl4+OGH0bNnz0Y/FevWrRsMBoM/rBUUFGD69Ok4cOBAo+O99957ePDBBzFmzBg88MADGDNmDI4dO9bocykpKRg0aBAeeeQRf79tTk4OampqcN999+GKK67Azp074XQ64fF4GnxtfHy8/9zl5eXYvXs3ACA6OhqDBw/GP/7xDwDe3udf//rXyMrKavD10dHRGDRoEN59910AgNlsxtq1azF69GgAwJVXXomDBw/igw8+wK9+9SsAwODBg5GTk4Ndu3YBAA4dOoRJkyahuLi42fsLNP/MWtKWe09EBCi4onyuHTt2ICcnx/8XrcvlQt++ff3vm81m3HnnncjMzMScOXP8rzudTixbtgxutxu33357yMdNRD/f8uXLsWfPnnY/7vjx4/HUU0/5q6j1/e53v8Ndd92F2NhYREREYPjw4cjNzW32eDfeeCOWLVuG6dOnQ6/Xo0+fPpg+fXqDAKjX6/Hyyy9j1apVeP311+F2u3Hvvfdi6NCh2LFjR4PjzZ49Gzt37sTUqVMRERGBjh074oYbbgh47vnz5+Pee+/1t5f16dMHl19+OaZMmYKYmBikp6ejZ8+eyMnJaTA5cuHChbj//vsxadIkdO7cGSNGjPC/98wzz+Dxxx/HjBkz4HQ6MX36dMycObPRuZ955hmsXLkSa9asgdPpxIwZMzB37lz/9U6dOhXbtm3DwIEDAQAJCQl4/vnn8fTTT8PhcEAIgaefftrfctKc5p5ZS5q790REgajEuT8zU5grrrgC//znP5GVlYW8vDwsX74cAGCxWPw/RisuLsatt96KkSNH4qGHHvL/KNRiseA3v/kN4uLi8MwzzwRl5jwRERERXZgU23pxrksuuQRff/01ysrKIITAihUr8Pbbb0OSJNxxxx2YMmUKHn74YX9IBryTcTIyMvDcc88xJBMRERFRm4RN60VmZibuvvtu3HjjjfB4PLjooouwePFibNy4EdnZ2ZAkCV9++SUAoH///liwYAGysrLQs2dP/ySgDh0
"text/plain": [
"<Figure size 864x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Set the width and height of the figure\n",
"plt.figure(figsize=(12,6))\n",
"# Line chart showing the number of visitors to each museum over time\n",
"ax = sns.lineplot(data=num_df, x=\"timestamp\", y=\"transaction_value\")\n",
"ax.set(xlabel='timestamp', ylabel='Total value')\n",
"plt.title(\"NFT transfers value over time\")\n",
"# Add title"
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 6,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"number of unique addresses: 6765\n"
]
}
],
"source": [
"print(\"number of unique addresses:\", transfers[\"nft_address\"].nunique())"
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 7,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [],
"source": [
"# num_df = (transfers[[\"nft_address\", \"transaction_value\", \"timestamp\"]"
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 8,
2021-10-07 13:06:21 +00:00
"metadata": {},
2021-10-07 13:12:23 +00:00
"outputs": [],
2021-10-07 13:06:21 +00:00
"source": [
"#create data frame where group together from_addresses and count size of each group (how many TX each address did in total)\n",
"from_series = transfers[\"from_address\"].groupby(transfers[\"from_address\"]).size()\n",
"#create data frame where group together from_addresses and count size of each group (how many TX each address did in total)\n",
2021-10-07 13:12:23 +00:00
"to_series = transfers[\"to_address\"].groupby(transfers[\"to_address\"]).size()"
2021-10-07 13:06:21 +00:00
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 9,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [],
"source": [
"df = pd.DataFrame()\n",
"df = df.join(to_series.rename(\"to_count\"), how='outer')\n",
2021-10-07 13:12:23 +00:00
"df = df.join(from_series.rename('from_count'), how='outer')"
2021-10-07 13:06:21 +00:00
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 10,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n"
]
},
{
"data": {
"text/plain": [
"<Figure size 1728x1728 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1728x360 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(24,24))\n",
"fig, axs = plt.subplots(1, 2)\n",
"fig.set_size_inches(24, 5, forward=True)\n",
"fig.suptitle('Numbers of NFT transactions per address')\n",
"axs[0].hist(df[\"from_count\"], density=False, alpha=0.75, log=True, bins=20, color='orange')\n",
"axs[0].set_title(\"NFTs Sent from an address\")\n",
"axs[1].hist(df[\"to_count\"], density=False, alpha=0.75, log=True, bins=20)\n",
"axs[1].set_title(\"NFTs received to an address\")\n",
"plt.setp(axs[0], xlabel='Number of transactions out', ylabel='Number of addresses')\n",
"plt.setp(axs[1], xlabel='Number of transactions in', ylabel='Number of addresses')\n",
"print(\"\")"
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 11,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [],
"source": [
"df_small=df[df[\"to_count\"]<10]\n",
"df_small=df_small[df_small[\"from_count\"]<10]"
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 12,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n"
]
},
{
"data": {
"text/plain": [
"<Figure size 1728x1728 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABX8AAAFjCAYAAABliXgFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABnn0lEQVR4nO3deVhV5f7+8RvYgAMOUeBAZk5pzgOVOEBa4gCIYzkkpZVm5pSaqJhiznHUHFDr9C2zzNAUhwgyTU2xHCpNUzMTcwpwDpRps35/+HOfEBEn2LB5v67L62I/a9j3s9jnnM/5sPaz7AzDMAQAAAAAAAAAsCn21g4AAAAAAAAAALj/aP4CAAAAAAAAgA2i+QsAAAAAAAAANojmLwAAAAAAAADYIJq/AAAAAAAAAGCDaP4CAAAAAAAAgA2i+QsAAIqk1q1bKzAwUBkZGVnGk5OTVbNmTf3444958r7BwcEaMmRInpz7frhy5YoGDBigevXqqVevXtm2r1q1SjVr1lR0dHS2bTNmzFCfPn0sr2vWrHnTf61bt9bJkydz3H79380cOnRIP/zww/2bcD66MXvNmjX13XffWTFRwZHbf+7y+j+XAAAAtspk7QAAAADWcujQIX388cd65ZVXrB2lwPj2228VGxurzz//XO7u7jnuN3nyZDVv3lylSpW65flmzpypZs2aZRlzcHBQmTJltG3bNsvY+PHjVaxYMY0bN+6W53v99dfVr18/NW3a9DZmU7DcmH3btm0qU6aMlVMBAADAlnHnLwAAKLI8PDw0f/58nTx50tpRCox//vlHDz30kOrWrZtj87dEiRIym836z3/+k+v5SpcuLTc3tyz/XF1d5eDgkGXMyclJxYoVyzJm667PGwAAAMgrNH8BAECR1adPH1WsWFETJ0685T4zZszIMvbvr+sHBwdr2rRpGjNmjBo2bKjWrVtry5YtioyM1NNPPy1PT0+NHz9ehmFYjr969apGjBih+vXrq3Xr1lqxYkWW80dGRqpt27Zq0KCBOnfurM2bN1u2BQcHa+TIkerevbuefPJJxcbGavfu3erWrZvq16+vFi1aaObMmTKbzTedj2EY+vTTT9W2bVvVq1dPgYGB2rJliyRp3rx5mjRpkk6fPq2aNWtq1apVNz2Hk5OTgoODtXz5cv388885Xrv7rU+fPjp16pTeeecd9enTx7J0RHh4uJ588km9+uqrkqS1a9cqICBAdevWVePGjTVw4ECdPXtWkvTjjz/qqaeeUmRkpFq3bq369evr1VdftWzPyMjQO++8o+bNm6t+/frq2bOn9u3bZ8nw/fff67nnnlP9+vXVoEEDBQUF6dixY5bthw4d0ksvvaRGjRrJx8dHixcvvml2KevnKC0tTfPnz1fr1q1Vr1499ezZU3v37s0y97lz52rgwIGqX7++fHx8snxu7uQzEBwcrLffflsjRoxQgwYN1KZNG61ZsybLPnf6GbzR2bNnNWLECDVt2lR169bVs88+q5UrV1q2X716VePGjVOTJk3UsmVLff3111mOz21769atNXPmTD399NN6+umndenSJSUmJmro0KFq1KiRWrRooXHjxumff/6xHPPFF1+oTZs2qlu3rtq1a6fIyEjLtm+//Vb+/v6qV6+eWrdurf/+9783vXYAAACFDc1fAABQZDk6OmrSpEnatm2bvvrqq7s+z2effaZq1app7dq1qlevnkaMGKFVq1Zp8eLFCg0N1ZdffqlNmzZZ9t+6daseeOABrV69Wv369dOECRP0008/SbrWXJwyZYqGDh2qdevW6fnnn9eQIUOyNFnXr1+v3r17a8mSJWrYsKEGDRqkpk2bKioqSu+++65WrFiRY+P2/fff13vvvachQ4Zo7dq1evbZZzVw4EAdOnRI/fr105tvvqny5ctr27Zt6tChQ45zDgwMlJeXl95++22lp6ff9bW7E/PmzVP58uX15ptvat68eZbxrVu3KiIiQm+99ZZ++uknjR07Vi+//LJiYmK0YMECHTx4UIsWLbLs/88//+iLL77QvHnztGTJEu3fv9+y/dNPP9XGjRu1YMECffXVV3r00Uc1ZMgQGYahkydPauDAgWrXrp2++uorLVmyRJcuXdLMmTMlSefPn9eLL74od3d3rVixQpMmTdL777+vlStX5pj9usmTJ2vFihWaMGGCIiMjVaNGDfXt21cJCQmWfT744AO1bNlSX331ldq0aaPQ0FCdPXtWZrP5jj4D0rW1m11cXLRq1Sr17t1bwcHBlvWI7/Qz2KhRo2znf+utt3T+/Hl9/PHH+uqrr9S6dWtNnDjR0mQPDQ3Vnj179MEHH2j+/Pn65JNPshyf23ZJlus6b948lSlTRoMHD5Z0rcm7cOFC/fXXXxo+fLgk6bffftPEiRM1YsQIxcTEKCgoSMHBwYqLi9O5c+c0bNgwPf/884qOjtZbb72lOXPmaMeOHTlePwAAgMKCNX8BAECR5unpqe7du2vq1Klq2bKlHBwc7vgcVapUsawb3KVLF0VHR2vMmDGWB5eFh4frjz/+0DPPPCNJqlq1qsaNGyc7OztVq1ZNP/74o5YtW6bGjRtr8eLFevnlly2N10ceeUQHDhzQRx99ZGmyValSRZ06dZIkXbx4UZcuXdJDDz0kDw8PPfzww/rwww/14IMPZstpGIY++ugjvfbaa/Lz85MkDR48WHv37tUHH3yg//znPypZsqRlSYbchIaGyt/fX//3f/+nAQMG3HSfoUOHZrumX331lSpWrHgbVzarsmXLysHBQSVLllTZsmWVlJQkSQoKCtKjjz4qSTpw4IDeeecdy/Xx8PDQM888oyNHjljOYzabFRwcrDp16kiSOnbsaLnL9uTJk3J2dlbFihXl7u6uMWPG6LffflNmZqYyMjI0evRoy527lSpVUmBgoJYtWyZJ+vrrr+Xo6KjJkyfLyclJ1atX14QJE2QymbJl/7fLly9r5cqVmjVrlnx8fCRJEydO1J49e/TZZ59ZGphPPfWU5SF8w4YN09KlS3Xo0CHVrVv3tj8D13l4eGjChAmyt7dXtWrVtHPnTi1fvlxNmza948/gzTz99NNq1aqVKlWqJEkaOHCglixZori4OBUrVkzr16/X/Pnz1bhxY0nSpEmT9Pzzz0uSkpKSbrn9uvbt26tevXqSpB9++EGHDx/WJ598YllKIywsTN7e3jpy5IhOnTolOzs7VahQQR4eHurVq5cqV64sV1dXnTx5Uunp6XJ3d5eHh4c8PDz00EMPWT5TAAAAhRnNXwAAUOSNHDlSmzZt0rvvvqvg4OA7Pv56g0uSihUrlm3M2dlZaWlpltf169eXnZ2d5XWdOnUsX2s/cuSI9u7da1kuQJLS09NVpUqVm75f2bJlFRQUpGnTpumDDz6Qt7e3OnTooPr162fLef78eV24cEENGzbMMt6kSRNFR0ff6bT1yCOPaNCgQQoPD1f79u1vuk9ISIieeuqpLGO3epDc3Xj44YctP9epU0clS5bUggULdPToUR09elRHjhxRkyZNshxTuXJly88uLi6Wu5d79uyp6OhoPf3002rQoIFatWqlrl27ysHBQY8++qiKFy+uDz74QEeOHNGxY8d08OBBy3z++OMP1axZM8s6vh07dsw1f1xcnMxmc5Y7aO3t7dWoUaMsTet/NyNdXFwkXVum4k4+A9c1atRI9vb/+xJg/fr1tW7dOkl3/hm8mV69eik6Oloff/yx4uLi9Ntvv0m61nj/888/lZ6ertq1a1v2r1u3riVPbttvluGPP/7Q1atXs33Wrp/Px8dH9evX13PPPaeqVavq6aefVufOnVW6dGk9/vjj8vX11ZAhQ+Th4SEfHx917NhRDz300C3nCAAAUBjQ/AUAAEVemTJlNHbsWI0YMUJt2rS55b4ZGRnZxkym7CXVv5u7N7qxiZWZmSlHR0dJ15pjI0aMUKtWrXJ8j+sN5uvGjh2rXr166bvvvtPmzZvVv39/DRo0SG+88UaW/ZydnW+aJzMzU5mZmTnmvZV+/fpp/fr1mjBhgmrVqpVtu5ubW5ZGa1749/WIjY3VgAED1KFDB3l
"text/plain": [
"<Figure size 1728x360 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(24,24))\n",
"fig, axs = plt.subplots(1, 2)\n",
"fig.set_size_inches(24, 5, forward=True)\n",
"fig.suptitle('Numbers of NFT transactions per address')\n",
"axs[0].hist(df_small[\"from_count\"], density=False, alpha=0.75, log=False, bins=9, color='orange')\n",
"axs[0].set_title(\"NFTs Sent from an address\")\n",
"axs[1].hist(df_small[\"to_count\"], density=False, alpha=0.75, log=False, bins=9)\n",
"axs[1].set_title(\"NFTs received to an address\")\n",
"plt.setp(axs[0], xlabel='Number of transactions out', ylabel='Number of addresses')\n",
"plt.setp(axs[1], xlabel='Number of transactions in', ylabel='Number of addresses')\n",
"print(\"\")"
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 13,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [],
"source": [
"whales_tx=df[df[\"from_count\"]>60000]\n",
"whales_rx=df[df[\"to_count\"]>60000]"
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 14,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [
{
"data": {
"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>to_count</th>\n",
" <th>from_count</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0x0000000000000000000000000000000000000000</th>\n",
" <td>119978.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xC69b4c6fFDBaF843A0d0588c99E3C67f27069BEa</th>\n",
" <td>74608.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xcDA72070E455bb31C7690a170224Ce43623d0B6f</th>\n",
" <td>76645.0</td>\n",
" <td>36116.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" to_count from_count\n",
"0x0000000000000000000000000000000000000000 119978.0 NaN\n",
"0xC69b4c6fFDBaF843A0d0588c99E3C67f27069BEa 74608.0 1.0\n",
"0xcDA72070E455bb31C7690a170224Ce43623d0B6f 76645.0 36116.0"
]
},
2021-10-07 16:57:01 +00:00
"execution_count": 14,
2021-10-07 13:06:21 +00:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"whales_rx"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Whales RX info:\n",
"0x0000000000000000000000000000000000000000 - burn address\n",
"\n",
"[0xC69b4c6fFDBaF843A0d0588c99E3C67f27069BEa](https://etherscan.io/address/0xC69b4c6fFDBaF843A0d0588c99E3C67f27069BEa) / [creator](https://etherscan.io/address/0xC69b4c6fFDBaF843A0d0588c99E3C67f27069BEa) / info: `ENS: ETH Registrar Controller `\n",
"\n",
"[0xcDA72070E455bb31C7690a170224Ce43623d0B6f](https://etherscan.io/address/0xcDA72070E455bb31C7690a170224Ce43623d0B6f) / [creator](https://etherscan.io/address/0x95271d54d6e0d88b3825f89a766f97b8b7e8af82) / info: https://foundation.app"
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 15,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [
{
"data": {
"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>to_count</th>\n",
" <th>from_count</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0x283Af0B28c62C092C9727F1Ee09c02CA627EB7F5</th>\n",
" <td>2.0</td>\n",
" <td>140875.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x327305A797d92a39cEe1a225D7E2A1cC42B1a8fA</th>\n",
" <td>NaN</td>\n",
" <td>106620.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" to_count from_count\n",
"0x283Af0B28c62C092C9727F1Ee09c02CA627EB7F5 2.0 140875.0\n",
"0x327305A797d92a39cEe1a225D7E2A1cC42B1a8fA NaN 106620.0"
]
},
2021-10-07 16:57:01 +00:00
"execution_count": 15,
2021-10-07 13:06:21 +00:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"whales_tx"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Whales TX info:\n",
"\n",
2021-10-07 13:13:21 +00:00
"[0x283Af0B28c62C092C9727F1Ee09c02CA627EB7F5](https://etherscan.io/address/0x283Af0B28c62C092C9727F1Ee09c02CA627EB7F5) / [creator](https://etherscan.io/address/0x4fe4e666be5752f1fdd210f4ab5de2cc26e3e0e8) / info: `ENS: ETH Registrar Controller`\n",
2021-10-07 13:06:21 +00:00
"\n",
2021-10-07 13:13:21 +00:00
"[0x327305A797d92a39cEe1a225D7E2A1cC42B1a8fA](https://etherscan.io/address/0x327305A797d92a39cEe1a225D7E2A1cC42B1a8fA) not a contract! / info: `???`"
2021-10-07 13:06:21 +00:00
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 16,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n"
]
},
{
"data": {
"text/plain": [
"<Figure size 1728x1728 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABXAAAAFjCAYAAACUgiOIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABVH0lEQVR4nO3dd3yN9///8WeWGaMqSWt+zGgRs609oqgRo2aNKC2tqlhFUtSe1WpJ1Wi/NUqtEqufUFRbo5QqpSja2JIQK4Ss9+8PP+cjkjhBT3KcPO63m9st1zjXeV3vc8n18nSd63IyxhgBAAAAAAAAAOyOc0YXAAAAAAAAAABIGQEuAAAAAAAAANgpAlwAAAAAAAAAsFMEuAAAAAAAAABgpwhwAQAAAAAAAMBOEeACAAAAAAAAgJ0iwAUAAE8sX19ftWzZUvHx8Unm37hxQ97e3tq1a5dN3jcwMFABAQE22fa/4ebNm3rrrbdUvnx5derUKdnylStXytvbW6GhocmWTZ48WV27drVMe3t7p/jH19dXZ86cSXX53T8pOXLkiH755Zd/b4fT0f21e3t764cffsjAiuyHtb93tv57CQAA4KhcM7oAAACAx3HkyBHNmzdPb775ZkaXYjc2bdqkHTt26JtvvpGnp2eq640bN041a9ZUrly5Hri9KVOmqEaNGknmubi4KE+ePNq2bZtl3ogRI5QtWzYNGzbsgdt755131KNHD1WrVi0Ne2Nf7q9927ZtypMnTwZXBQAAAEfGFbgAAOCJVrBgQQUHB+vMmTMZXYrduH79uvLnz69y5cqlGuDmyJFDCQkJ+uijj6xuL3fu3PLw8EjyJ1++fHJxcUkyL0uWLMqWLVuSeY7u7n4DAAAAtkKACwAAnmhdu3ZVgQIFNGrUqAeuM3ny5CTz7v3qe2BgoCZOnKigoCBVrFhRvr6++vHHHxUSEqJ69eqpatWqGjFihIwxltfHxMRo0KBB8vHxka+vr5YvX55k+yEhIWrcuLEqVKig1q1ba+vWrZZlgYGBeu+999SuXTu9+OKL2rFjh/bs2aO2bdvKx8dHtWrV0pQpU5SQkJDi/hhj9PXXX6tx48YqX768WrZsqR9//FGSNGPGDI0ZM0bnzp2Tt7e3Vq5cmeI2smTJosDAQC1ZskT79u1Ldez+bV27dtXZs2c1duxYde3a1XIbhpkzZ+rFF19Uz549JUlr1qyRn5+fypUrp8qVK6t37966ePGiJGnXrl166aWXFBISIl9fX/n4+Khnz56W5fHx8Ro7dqxq1qwpHx8fvfbaazpw4IClhp9//lnt27eXj4+PKlSoIH9/f/3zzz+W5UeOHNHrr7+uSpUqqW7dupo9e3aKtUtJj6PY2FgFBwfL19dX5cuX12uvvab9+/cn2ffp06erd+/e8vHxUd26dZMcNw9zDAQGBuqDDz7QoEGDVKFCBTVs2FCrV69Oss7DHoP3u3jxogYNGqRq1aqpXLlyevnll7VixQrL8piYGA0bNkxVqlRR7dq19d///jfJ660t9/X11ZQpU1SvXj3Vq1dPV69eVWRkpPr166dKlSqpVq1aGjZsmK5fv255zdKlS9WwYUOVK1dOr7zyikJCQizLNm3apObNm6t8+fLy9fXVF198keLYAQAAPGkIcAEAwBPNzc1NY8aM0bZt27R+/fpH3s6iRYtUokQJrVmzRuXLl9egQYO0cuVKzZ49W6NHj9a3336rLVu2WNb/6aef9NRTT2nVqlXq0aOHRo4cqd9++03SnYBw/Pjx6tevn9auXasOHTooICAgSVC6bt06de7cWfPnz1fFihXVp08fVatWTd99950+/PBDLV++PNXwdc6cOfr0008VEBCgNWvW6OWXX1bv3r115MgR9ejRQwMHDtQzzzyjbdu2qWnTpqnuc8uWLVW9enV98MEHiouLe+SxexgzZszQM888o4EDB2rGjBmW+T/99JOWLVumIUOG6LffftP777+vN954Qxs2bNBnn32mw4cPa9asWZb1r1+/rqVLl2rGjBmaP3++Dh48aFn+9ddfa/Pmzfrss8+0fv16/ec//1FAQICMMTpz5ox69+6tV155RevXr9f8+fN19epVTZkyRZIUFRWlbt26ydPTU8uXL9eYMWM0Z84crVixItXa7xo3bpyWL1+ukSNHKiQkRKVKlVL37t0VERFhWWfu3LmqXbu21q9fr4YNG2r06NG6ePGiEhISHuoYkO7cy9jd3V0rV65U586dFRgYaLk/78Meg5UqVUq2/SFDhigqKkrz5s3T+vXr5evrq1GjRlmC8tGjR2vv3r2aO3eugoODtWDBgiSvt7ZckmVcZ8yYoTx58qhv376S7gS1n3/+uU6dOqUBAwZIkv7880+NGjVKgwYN0oYNG+Tv76/AwECFhYXp0qVL6t+/vzp06KDQ0FANGTJEn3zyiXbu3Jnq+AEAADwpuAcuAAB44lWtWlXt2rXThAkTVLt2bbm4uDz0NooVK2a5j+6rr76q0NBQBQUFWR7GNXPmTB0/flwNGjSQJBUvXlzDhg2Tk5OTSpQooV27dmnx4sWqXLmyZs+erTfeeMMSnhYpUkSHDh3SV199ZQnKihUrplatWkmSrly5oqtXryp//vwqWLCgChUqpC+//FJPP/10sjqNMfrqq6/09ttvq1mzZpKkvn37av/+/Zo7d64++ugj5cyZ03J7A2tGjx6t5s2b6//+7//01ltvpbhOv379ko3p+vXrVaBAgTSMbFJ58+aVi4uLcubMqbx58yo6OlqS5O/vr//85z+SpEOHDmns2LGW8SlYsKAaNGigY8eOWbaTkJCgwMBAlS1bVpLUokULy9WuZ86cUdasWVWgQAF5enoqKChIf/75pxITExUfH6+hQ4darqAtXLiwWrZsqcWLF0uS/vvf/8rNzU3jxo1TlixZVLJkSY0cOVKurq7Jar/XtWvXtGLFCn388ceqW7euJGnUqFHau3evFi1aZAkhX3rpJcuD5fr376+FCxfqyJEjKleuXJqPgbsKFiyokSNHytnZWSVKlNDu3bu1ZMkSVatW7aGPwZTUq1dP9evXV+HChSVJvXv31vz58xUWFqZs2bJp3bp1Cg4OVuXKlSVJY8aMUYcOHSRJ0dHRD1x+V5MmTVS+fHlJ0i+//KKjR49qwYIFlttSTJ06VXXq1NGxY8d09uxZOTk56dlnn1XBggXVqVMnFS1aVPny5dOZM2cUFxcnT09PFSxYUAULFlT+/PktxxQAAMCTjAAXAAA4hPfee09btmzRhx9+qMDAwId+/d2QSpKyZcuWbF7WrFkVGxtrmfbx8ZGTk5NlumzZspaviB87dkz79++3fPVekuLi4lSsWLEU3y9v3rzy9/fXxIkTNXfuXNWpU0dNmzaVj49PsjqjoqJ0+fJlVaxYMcn8KlWqKDQ09GF3W0WKFFGfPn00c+ZMNWnSJMV1hg8frpdeeinJvAc9HO1RFCpUyPJz2bJllTNnTn322Wc6ceKETpw4oWPHjqlKlSpJXlO0aFHLz+7u7pariF977TWFhoaqXr16qlChgurXr682bdrIxcVF//nPf5Q9e3bNnTtXx44d0z///KPDhw9b9uf48ePy9vZOcl/bFi1aWK0/LCxMCQkJSa5kdXZ2VqVKlZIEz/cGiu7u7pLu3PLhYY6BuypVqiRn5/99oc7Hx0dr166V9PDHYEo6deqk0NBQzZs3T2FhYfrzzz8l3QnP//77b8XFxen555+3rF+uXDlLPdaWp1TD8ePHFRMTk+xYu7u9unXrysfHR+3bt1fx4sVVr149tW7dWrlz59Zzzz2nRo0aKSAgQAULFlTdunXVokUL5c+f/4H7CAAA8CQgwAUAAA4hT548ev/99zVo0CA1bNjwgevGx8cnm+fqmrwtujegvd/9QVRiYqLc3Nwk3Qm4Bg0apPr166f6HndD4rvef/99derUST/88IO2bt2qXr16qU+fPnr33XeTrJc1a9YU60lMTFRiYmKq9T5Ijx49tG7dOo0cOVJlypRJttzDwyNJWGoL947Hjh079NZbb6lp06aqWrWq/P39tW7dOh09ejTJa+6
"text/plain": [
"<Figure size 1728x360 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sharks_tx=df[df[\"from_count\"]>20e3]\n",
"sharks_rx=df[df[\"to_count\"]>20e3]\n",
"sharks_tx=sharks_tx[sharks_tx[\"from_count\"]<60e3]\n",
"sharks_rx=sharks_tx[sharks_tx[\"to_count\"]<60e3]\n",
"\n",
"plt.figure(figsize=(24,24))\n",
"fig, axs = plt.subplots(1, 2)\n",
"fig.set_size_inches(24, 5, forward=True)\n",
"fig.suptitle('Numbers of NFT transactions per address')\n",
"axs[0].hist(sharks_tx[\"from_count\"], density=False, alpha=0.75, log=False, bins=100, color='orange')\n",
"axs[0].set_title(\"NFTs Sent from an address\")\n",
"axs[1].hist(sharks_rx[\"to_count\"], density=False, alpha=0.75, log=False, bins=9)\n",
"axs[1].set_title(\"NFTs received to an address\")\n",
"plt.setp(axs[0], xlabel='Number of transactions out', ylabel='Number of addresses')\n",
"plt.setp(axs[1], xlabel='Number of transactions in', ylabel='Number of addresses')\n",
"print(\"\")"
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 17,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [
{
"data": {
"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>to_count</th>\n",
" <th>from_count</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0xE052113bd7D7700d623414a0a4585BCaE754E9d5</th>\n",
" <td>9552.0</td>\n",
" <td>31967.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xb1690C08E213a35Ed9bAb7B318DE14420FB57d8C</th>\n",
" <td>14124.0</td>\n",
" <td>23128.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xcDA72070E455bb31C7690a170224Ce43623d0B6f</th>\n",
" <td>76645.0</td>\n",
" <td>36116.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" to_count from_count\n",
"0xE052113bd7D7700d623414a0a4585BCaE754E9d5 9552.0 31967.0\n",
"0xb1690C08E213a35Ed9bAb7B318DE14420FB57d8C 14124.0 23128.0\n",
"0xcDA72070E455bb31C7690a170224Ce43623d0B6f 76645.0 36116.0"
]
},
2021-10-07 16:57:01 +00:00
"execution_count": 17,
2021-10-07 13:06:21 +00:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sharks_tx"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Sharks TX info:\n",
"\n",
"[0xE052113bd7D7700d623414a0a4585BCaE754E9d5](https://etherscan.io/address/0xE052113bd7D7700d623414a0a4585BCaE754E9d5) / not a contract! / info: `Nifty Gateway: Omnibus `\n",
"\n",
"[0xb1690C08E213a35Ed9bAb7B318DE14420FB57d8C](https://etherscan.io/address/0xb1690C08E213a35Ed9bAb7B318DE14420FB57d8C) / not a contract! / info: `CryptoKitties: Sales Auction `\n",
"\n",
"[0xb1690C08E213a35Ed9bAb7B318DE14420FB57d8C](https://etherscan.io/address/0xcDA72070E455bb31C7690a170224Ce43623d0B6f) / [creator](https://etherscan.io/address/0x95271d54d6e0d88b3825f89a766f97b8b7e8af82) / info: https://foundation.app"
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 18,
2021-10-07 13:06:21 +00:00
"metadata": {},
"outputs": [
{
"data": {
"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>to_count</th>\n",
" <th>from_count</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0xE052113bd7D7700d623414a0a4585BCaE754E9d5</th>\n",
" <td>9552.0</td>\n",
" <td>31967.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xb1690C08E213a35Ed9bAb7B318DE14420FB57d8C</th>\n",
" <td>14124.0</td>\n",
" <td>23128.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" to_count from_count\n",
"0xE052113bd7D7700d623414a0a4585BCaE754E9d5 9552.0 31967.0\n",
"0xb1690C08E213a35Ed9bAb7B318DE14420FB57d8C 14124.0 23128.0"
]
},
2021-10-07 16:57:01 +00:00
"execution_count": 18,
2021-10-07 13:06:21 +00:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sharks_rx"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Sharks RX info:\n",
"\n",
"[0xE052113bd7D7700d623414a0a4585BCaE754E9d5](https://etherscan.io/address/0xE052113bd7D7700d623414a0a4585BCaE754E9d5) / not a contract! / info: `Nifty Gateway: Omnibus `\n",
"\n",
"[0xb1690C08E213a35Ed9bAb7B318DE14420FB57d8C](https://etherscan.io/address/0xb1690C08E213a35Ed9bAb7B318DE14420FB57d8C) / not a contract! / info: `CryptoKitties: Sales Auction `\n"
]
},
2021-10-07 16:44:21 +00:00
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 19,
2021-10-07 16:44:21 +00:00
"metadata": {},
"outputs": [],
"source": [
"#transfers not transactions\n",
"transactions_per_nft = transfers[\"nft_address\"].groupby(transfers[\"nft_address\"]).size()\n"
]
},
{
"cell_type": "code",
2021-10-07 16:57:01 +00:00
"execution_count": 20,
2021-10-07 16:44:21 +00:00
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0 0.000000e+00\n",
"1 0.000000e+00\n",
"2 0.000000e+00\n",
"3 0.000000e+00\n",
"4 0.000000e+00\n",
"5 6.180000e+18\n",
"6 0.000000e+00\n",
"7 0.000000e+00\n",
"8 3.000000e+16\n",
"9 0.000000e+00\n",
"10 0.000000e+00\n",
"11 0.000000e+00\n",
"12 0.000000e+00\n",
"13 0.000000e+00\n",
"14 0.000000e+00\n",
"Name: transaction_value, dtype: float64"
]
},
2021-10-07 16:57:01 +00:00
"execution_count": 20,
2021-10-07 16:44:21 +00:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"transfers[\"transaction_value\"] = pd.to_numeric(transfers[\"transaction_value\"])\n",
"transfers[\"transaction_value\"] = transfers[\"transaction_value\"].fillna(0)\n",
"transfers[\"transaction_value\"].head(15)"
]
},
{
"cell_type": "code",
2021-10-11 14:40:16 +00:00
"execution_count": 21,
2021-10-07 16:44:21 +00:00
"metadata": {},
2021-10-07 16:57:01 +00:00
"outputs": [
{
"data": {
"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>transaction_value</th>\n",
" </tr>\n",
" <tr>\n",
" <th>nft_address</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0x00000000000b7F8E8E8Ad148f9d53303Bfe20796</th>\n",
" <td>0.000000e+00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x000000000437b3CCE2530936156388Bff5578FC3</th>\n",
" <td>4.175880e+18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x000000000A42C2791eEc307FFf43Fa5c640e3Ef7</th>\n",
" <td>0.000000e+00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x000000F36EDb9d436Be73cDBf0DCa7dF3E6F3A50</th>\n",
" <td>0.000000e+00</td>\n",
" </tr>\n",
2021-10-11 14:40:16 +00:00
" <tr>\n",
" <th>0x00000633Df1228868270bAdB2B812E12e13fdB91</th>\n",
" <td>2.829000e+17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x000E49C87d2874431567d38FF9548890aB39BAac</th>\n",
" <td>1.399971e+19</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x001B4b85192aa034bff1524f181e3a7060e0dC30</th>\n",
" <td>1.800000e+17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x0025Eae58dF9F636F261CFdFa98cAcb57779DF74</th>\n",
" <td>0.000000e+00</td>\n",
" </tr>\n",
2021-10-07 16:57:01 +00:00
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" transaction_value\n",
"nft_address \n",
"0x00000000000b7F8E8E8Ad148f9d53303Bfe20796 0.000000e+00\n",
"0x000000000437b3CCE2530936156388Bff5578FC3 4.175880e+18\n",
"0x000000000A42C2791eEc307FFf43Fa5c640e3Ef7 0.000000e+00\n",
2021-10-11 14:40:16 +00:00
"0x000000F36EDb9d436Be73cDBf0DCa7dF3E6F3A50 0.000000e+00\n",
"0x00000633Df1228868270bAdB2B812E12e13fdB91 2.829000e+17\n",
"0x000E49C87d2874431567d38FF9548890aB39BAac 1.399971e+19\n",
"0x001B4b85192aa034bff1524f181e3a7060e0dC30 1.800000e+17\n",
"0x0025Eae58dF9F636F261CFdFa98cAcb57779DF74 0.000000e+00"
2021-10-07 16:57:01 +00:00
]
},
2021-10-11 14:40:16 +00:00
"execution_count": 21,
2021-10-07 16:57:01 +00:00
"metadata": {},
"output_type": "execute_result"
}
],
2021-10-07 16:44:21 +00:00
"source": [
2021-10-07 16:57:01 +00:00
"total_value_per_nft = transfers[[\"nft_address\", \"transaction_value\"]].groupby(transfers[\"nft_address\"]).sum()\n",
2021-10-11 14:40:16 +00:00
"total_value_per_nft.head(8)"
2021-10-07 16:44:21 +00:00
]
},
{
"cell_type": "code",
2021-10-11 14:40:16 +00:00
"execution_count": 73,
2021-10-07 16:44:21 +00:00
"metadata": {},
2021-10-07 16:57:01 +00:00
"outputs": [
{
"data": {
2021-10-11 14:40:16 +00:00
"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>transaction_value</th>\n",
" <th>info</th>\n",
" </tr>\n",
" <tr>\n",
" <th>nft_address</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270</th>\n",
" <td>2.296429e+23</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D</th>\n",
" <td>1.588150e+23</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x60E4d786628Fea6478F785A6d7e704777c86a7c6</th>\n",
" <td>7.530649e+22</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x7Bd29408f11D2bFC23c34f18275bBf23bB716Bc7</th>\n",
" <td>6.610220e+22</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xFF9C1b15B16263C61d017ee9F65C50e4AE0113D7</th>\n",
" <td>6.378142e+22</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x3bf2922f4520a8BA0c2eFC3D2a1539678DaD5e9D</th>\n",
" <td>4.022007e+22</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a</th>\n",
" <td>3.809675e+22</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xBd3531dA5CF5857e7CfAA92426877b022e612cf8</th>\n",
" <td>3.797948e+22</td>\n",
" <td>None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
2021-10-07 16:57:01 +00:00
"text/plain": [
2021-10-11 14:40:16 +00:00
" transaction_value info\n",
"nft_address \n",
"0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270 2.296429e+23 None\n",
"0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D 1.588150e+23 None\n",
"0x60E4d786628Fea6478F785A6d7e704777c86a7c6 7.530649e+22 None\n",
"0x7Bd29408f11D2bFC23c34f18275bBf23bB716Bc7 6.610220e+22 None\n",
"0xFF9C1b15B16263C61d017ee9F65C50e4AE0113D7 6.378142e+22 None\n",
"0x3bf2922f4520a8BA0c2eFC3D2a1539678DaD5e9D 4.022007e+22 None\n",
"0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a 3.809675e+22 None\n",
"0xBd3531dA5CF5857e7CfAA92426877b022e612cf8 3.797948e+22 None"
2021-10-07 16:57:01 +00:00
]
},
2021-10-11 14:40:16 +00:00
"execution_count": 73,
2021-10-07 16:57:01 +00:00
"metadata": {},
"output_type": "execute_result"
}
],
2021-10-07 16:44:21 +00:00
"source": [
2021-10-11 14:40:16 +00:00
"most_valuable_nfts = total_value_per_nft[\"transaction_value\"].sort_values(ascending=False).head(8)\n",
"most_valuable_nfts = most_valuable_nfts.to_frame()\n",
"most_valuable_nfts['info'] = None\n",
2021-10-07 16:57:01 +00:00
"most_valuable_nfts"
2021-10-07 16:44:21 +00:00
]
},
2021-10-11 14:40:16 +00:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### INFO:\n",
"[0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270](https://etherscan.io/address/0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270) Info: https://artblocks.io\n",
"\n",
"[0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D](https://etherscan.io/address/0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D) Info: https://boredapeyachtclub.com/#/\n",
"\n",
"[0x60E4d786628Fea6478F785A6d7e704777c86a7c6](https://etherscan.io/address/0x60E4d786628Fea6478F785A6d7e704777c86a7c6) Info: https://boredapeyachtclub.com/#/mayc\n",
"\n",
"[0x7Bd29408f11D2bFC23c34f18275bBf23bB716Bc7](https://etherscan.io/address/0x7Bd29408f11D2bFC23c34f18275bBf23bB716Bc7) Info: https://larvalabs.com/project/meebits\n",
"\n",
"[0xFF9C1b15B16263C61d017ee9F65C50e4AE0113D7](https://etherscan.io/address/0xFF9C1b15B16263C61d017ee9F65C50e4AE0113D7) Info: https://www.lootproject.com\n",
"\n",
"[0x3bf2922f4520a8BA0c2eFC3D2a1539678DaD5e9D](https://etherscan.io/address/0x3bf2922f4520a8BA0c2eFC3D2a1539678DaD5e9D) Info: https://www.0n1force.com\n",
"\n",
"[0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a](https://etherscan.io/address/0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a) Info: https://artblocks.io Old BLOCKS Token \n",
"\n",
"[0xBd3531dA5CF5857e7CfAA92426877b022e612cf8](https://etherscan.io/address/0xBd3531dA5CF5857e7CfAA92426877b022e612cf8) Info: https://www.pudgypenguins.io/#/"
]
},
2021-10-07 16:44:21 +00:00
{
"cell_type": "code",
2021-10-11 14:40:16 +00:00
"execution_count": 153,
2021-10-07 16:44:21 +00:00
"metadata": {},
2021-10-11 14:40:16 +00:00
"outputs": [
{
"data": {
"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>transaction_value</th>\n",
" <th>info</th>\n",
" </tr>\n",
" <tr>\n",
" <th>nft_address</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270</th>\n",
" <td>2.296429e+23</td>\n",
" <td>artblocks</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D</th>\n",
" <td>1.588150e+23</td>\n",
" <td>BAYC Token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x60E4d786628Fea6478F785A6d7e704777c86a7c6</th>\n",
" <td>7.530649e+22</td>\n",
" <td>MAYC Token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x7Bd29408f11D2bFC23c34f18275bBf23bB716Bc7</th>\n",
" <td>6.610220e+22</td>\n",
" <td>Meebits</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xFF9C1b15B16263C61d017ee9F65C50e4AE0113D7</th>\n",
" <td>6.378142e+22</td>\n",
" <td>LOOT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x3bf2922f4520a8BA0c2eFC3D2a1539678DaD5e9D</th>\n",
" <td>4.022007e+22</td>\n",
" <td>0n1force</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a</th>\n",
" <td>3.809675e+22</td>\n",
" <td>Artblocks OLD</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xBd3531dA5CF5857e7CfAA92426877b022e612cf8</th>\n",
" <td>3.797948e+22</td>\n",
" <td>pudgypenguins</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" transaction_value info\n",
"nft_address \n",
"0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270 2.296429e+23 artblocks\n",
"0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D 1.588150e+23 BAYC Token\n",
"0x60E4d786628Fea6478F785A6d7e704777c86a7c6 7.530649e+22 MAYC Token\n",
"0x7Bd29408f11D2bFC23c34f18275bBf23bB716Bc7 6.610220e+22 Meebits\n",
"0xFF9C1b15B16263C61d017ee9F65C50e4AE0113D7 6.378142e+22 LOOT\n",
"0x3bf2922f4520a8BA0c2eFC3D2a1539678DaD5e9D 4.022007e+22 0n1force\n",
"0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a 3.809675e+22 Artblocks OLD\n",
"0xBd3531dA5CF5857e7CfAA92426877b022e612cf8 3.797948e+22 pudgypenguins"
]
},
"execution_count": 153,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"most_valuable_nfts.at['0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270', 'info'] = 'artblocks'\n",
"most_valuable_nfts.at['0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D', 'info'] = 'BAYC Token'\n",
"most_valuable_nfts.at['0x60E4d786628Fea6478F785A6d7e704777c86a7c6', 'info'] = 'MAYC Token'\n",
"most_valuable_nfts.at['0x7Bd29408f11D2bFC23c34f18275bBf23bB716Bc7', 'info'] = 'Meebits'\n",
"most_valuable_nfts.at['0xFF9C1b15B16263C61d017ee9F65C50e4AE0113D7', 'info'] = 'LOOT'\n",
"most_valuable_nfts.at['0x3bf2922f4520a8BA0c2eFC3D2a1539678DaD5e9D', 'info'] = '0n1force'\n",
"most_valuable_nfts.at['0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a', 'info'] = 'Artblocks OLD'\n",
"most_valuable_nfts.at['0xBd3531dA5CF5857e7CfAA92426877b022e612cf8', 'info'] = 'pudgypenguins'\n",
"most_valuable_nfts"
]
},
{
"cell_type": "code",
"execution_count": 154,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Most valuable NFT conctract chart')"
]
},
"execution_count": 154,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 842.4x595.44 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"fig.set_size_inches(11.7, 8.27)\n",
"sns.barplot(y=most_valuable_nfts['info'], x=most_valuable_nfts['transaction_value']).set_title('Most valuable NFT conctract chart')"
]
},
{
"cell_type": "code",
"execution_count": 155,
"metadata": {},
"outputs": [
{
"data": {
"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>transaction_value</th>\n",
" <th>nft_address</th>\n",
" <th>info</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2021-01-01 01:10:00</th>\n",
" <td>1.761902e+17</td>\n",
" <td>0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a</td>\n",
" <td>Artblocks OLD</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-01-01 01:10:00</th>\n",
" <td>1.761902e+17</td>\n",
" <td>0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a</td>\n",
" <td>Artblocks OLD</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-01-01 01:10:00</th>\n",
" <td>1.761902e+17</td>\n",
" <td>0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a</td>\n",
" <td>Artblocks OLD</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-01-01 01:10:00</th>\n",
" <td>1.761902e+17</td>\n",
" <td>0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a</td>\n",
" <td>Artblocks OLD</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-01-01 01:10:00</th>\n",
" <td>1.761902e+17</td>\n",
" <td>0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a</td>\n",
" <td>Artblocks OLD</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-05-31 23:55:02</th>\n",
" <td>1.110000e+18</td>\n",
" <td>0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D</td>\n",
" <td>BAYC Token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-05-31 23:55:34</th>\n",
" <td>8.000000e+17</td>\n",
" <td>0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D</td>\n",
" <td>BAYC Token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-05-31 23:57:10</th>\n",
" <td>1.000000e+18</td>\n",
" <td>0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D</td>\n",
" <td>BAYC Token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-05-31 23:57:10</th>\n",
" <td>0.000000e+00</td>\n",
" <td>0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D</td>\n",
" <td>BAYC Token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-05-31 23:59:57</th>\n",
" <td>9.500000e+17</td>\n",
" <td>0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D</td>\n",
" <td>BAYC Token</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>275100 rows × 3 columns</p>\n",
"</div>"
],
"text/plain": [
" transaction_value \\\n",
"timestamp \n",
"2021-01-01 01:10:00 1.761902e+17 \n",
"2021-01-01 01:10:00 1.761902e+17 \n",
"2021-01-01 01:10:00 1.761902e+17 \n",
"2021-01-01 01:10:00 1.761902e+17 \n",
"2021-01-01 01:10:00 1.761902e+17 \n",
"... ... \n",
"2021-05-31 23:55:02 1.110000e+18 \n",
"2021-05-31 23:55:34 8.000000e+17 \n",
"2021-05-31 23:57:10 1.000000e+18 \n",
"2021-05-31 23:57:10 0.000000e+00 \n",
"2021-05-31 23:59:57 9.500000e+17 \n",
"\n",
" nft_address info \n",
"timestamp \n",
"2021-01-01 01:10:00 0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a Artblocks OLD \n",
"2021-01-01 01:10:00 0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a Artblocks OLD \n",
"2021-01-01 01:10:00 0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a Artblocks OLD \n",
"2021-01-01 01:10:00 0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a Artblocks OLD \n",
"2021-01-01 01:10:00 0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a Artblocks OLD \n",
"... ... ... \n",
"2021-05-31 23:55:02 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D BAYC Token \n",
"2021-05-31 23:55:34 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D BAYC Token \n",
"2021-05-31 23:57:10 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D BAYC Token \n",
"2021-05-31 23:57:10 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D BAYC Token \n",
"2021-05-31 23:59:57 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D BAYC Token \n",
"\n",
"[275100 rows x 3 columns]"
]
},
"execution_count": 155,
"metadata": {},
"output_type": "execute_result"
}
],
2021-10-07 16:44:21 +00:00
"source": [
"#get frame with values over time\n",
"num_df = pd.DataFrame()\n",
"#cast to numeric\n",
"num_df = (transfers[[\"transaction_value\", \"timestamp\"]].apply(pd.to_numeric, errors='coerce'))\n",
"#add nft_address column to it\n",
"num_df[\"nft_address\"]=transfers[\"nft_address\"]\n",
"#filter out only ones that are in most_popular_nft variable\n",
"num_df = num_df[num_df.nft_address.isin(list(most_valuable_nfts.index))]\n",
"#convert timestamp in to date time\n",
"num_df[\"timestamp\"] = pd.to_datetime(num_df.timestamp, unit='s', errors='coerce')\n",
"#set index as timestamp\n",
2021-10-11 14:40:16 +00:00
"num_df = num_df.set_index(\"timestamp\")\n",
"\n",
"num_df['info'] = None\n",
"for i in range(len(most_valuable_nfts)):\n",
" address = most_valuable_nfts.iloc[i].name\n",
" \n",
" num_df.loc[num_df.nft_address == address, 'info'] = most_valuable_nfts.at[address, 'info'] #most_valuable_nfts.at[num_df.iloc[i]['nft_address'], 'info']\n",
"\n",
"num_df"
2021-10-07 16:44:21 +00:00
]
},
{
"cell_type": "code",
2021-10-11 14:40:16 +00:00
"execution_count": 156,
2021-10-07 16:44:21 +00:00
"metadata": {},
"outputs": [],
"source": [
"#group timestamps by day, create column per each nft_address, aggregate transaction value by count and sum\n",
2021-10-11 14:40:16 +00:00
"new_df = num_df.groupby([pd.Grouper(freq='d'), 'nft_address', 'info'])['transaction_value'].agg(transaction_value=\"sum\")\n"
2021-10-07 16:44:21 +00:00
]
},
{
"cell_type": "code",
2021-10-11 14:40:16 +00:00
"execution_count": 157,
2021-10-07 16:44:21 +00:00
"metadata": {},
2021-10-07 16:57:01 +00:00
"outputs": [
{
"data": {
2021-10-11 14:40:16 +00:00
"image/png": "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
2021-10-07 16:57:01 +00:00
"text/plain": [
"<Figure size 1728x864 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
2021-10-07 16:44:21 +00:00
"source": [
2021-10-07 16:57:01 +00:00
"plt.figure(figsize=(24, 12))\n",
2021-10-07 16:44:21 +00:00
"# new_df.unstack()\n",
2021-10-11 14:40:16 +00:00
"ax = sns.lineplot(data=new_df, x='timestamp', y='transaction_value', hue='info',)"
]
},
{
"cell_type": "code",
"execution_count": 158,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"nft_address\n",
"0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205 386096\n",
"0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85 187809\n",
"0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270 135308\n",
"0x3B3ee1931Dc30C1957379FAc9aba94D1C48a5405 128240\n",
"0x06012c8cf97BEaD5deAe237070F9587f8E7A266d 70095\n",
"0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D 34966\n",
"0x1A92f7381B9F03921564a437210bB9396471050C 29539\n",
"0xBd3531dA5CF5857e7CfAA92426877b022e612cf8 28764\n",
"Name: nft_address, dtype: int64"
]
},
"execution_count": 158,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"most_popular_nfts"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### INFO:\n",
"[0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205](https://etherscan.io/address/0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205) Info: SOR token\n",
"\n",
"[0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85](https://etherscan.io/address/0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85) Info: ENS Base registrar\n",
"\n",
"[0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270](https://etherscan.io/address/0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270) Info: BLOCKS Token\n",
"\n",
"[0x3B3ee1931Dc30C1957379FAc9aba94D1C48a5405](https://etherscan.io/address/0x3B3ee1931Dc30C1957379FAc9aba94D1C48a5405) Info: FNDNFT Token\n",
"\n",
"[0x06012c8cf97BEaD5deAe237070F9587f8E7A266d](https://etherscan.io/address/0x06012c8cf97BEaD5deAe237070F9587f8E7A266d) Info: CryptoKitties Core\n",
"\n",
"[0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D](https://etherscan.io/address/0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D) Info: BAYC Token\n",
"\n",
"[0x1A92f7381B9F03921564a437210bB9396471050C](https://etherscan.io/address/0x1A92f7381B9F03921564a437210bB9396471050C) Info: COOL Token\n",
"\n",
"[0xBd3531dA5CF5857e7CfAA92426877b022e612cf8](https://etherscan.io/address/0xBd3531dA5CF5857e7CfAA92426877b022e612cf8) Info: PPG Token"
]
},
{
"cell_type": "code",
"execution_count": 170,
"metadata": {},
"outputs": [
{
"data": {
"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>count</th>\n",
" <th>info</th>\n",
" </tr>\n",
" <tr>\n",
" <th>nft_address</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205</th>\n",
" <td>386096</td>\n",
" <td>SOR token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85</th>\n",
" <td>187809</td>\n",
" <td>ENS Base registrar</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270</th>\n",
" <td>135308</td>\n",
" <td>BLOCKS Token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x3B3ee1931Dc30C1957379FAc9aba94D1C48a5405</th>\n",
" <td>128240</td>\n",
" <td>FNDNFT Token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x06012c8cf97BEaD5deAe237070F9587f8E7A266d</th>\n",
" <td>70095</td>\n",
" <td>CryptoKitties Core</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D</th>\n",
" <td>34966</td>\n",
" <td>BAYC Token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x1A92f7381B9F03921564a437210bB9396471050C</th>\n",
" <td>29539</td>\n",
" <td>COOL Token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xBd3531dA5CF5857e7CfAA92426877b022e612cf8</th>\n",
" <td>28764</td>\n",
" <td>PPG Token</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" count info\n",
"nft_address \n",
"0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205 386096 SOR token\n",
"0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85 187809 ENS Base registrar\n",
"0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270 135308 BLOCKS Token\n",
"0x3B3ee1931Dc30C1957379FAc9aba94D1C48a5405 128240 FNDNFT Token\n",
"0x06012c8cf97BEaD5deAe237070F9587f8E7A266d 70095 CryptoKitties Core\n",
"0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D 34966 BAYC Token\n",
"0x1A92f7381B9F03921564a437210bB9396471050C 29539 COOL Token\n",
"0xBd3531dA5CF5857e7CfAA92426877b022e612cf8 28764 PPG Token"
]
},
"execution_count": 170,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"most_popular_nfts = transactions_per_nft.sort_values(ascending=False).head(8)\n",
"most_popular_nfts = most_popular_nfts.to_frame()\n",
"most_valuable_nfts['info'] = None\n",
"most_popular_nfts.at['0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205', 'info'] = 'SOR token'\n",
"most_popular_nfts.at['0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85', 'info'] = 'ENS Base registrar'\n",
"most_popular_nfts.at['0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270', 'info'] = 'BLOCKS Token'\n",
"most_popular_nfts.at['0x3B3ee1931Dc30C1957379FAc9aba94D1C48a5405', 'info'] = 'FNDNFT Token'\n",
"most_popular_nfts.at['0x06012c8cf97BEaD5deAe237070F9587f8E7A266d', 'info'] = 'CryptoKitties Core'\n",
"most_popular_nfts.at['0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D', 'info'] = 'BAYC Token'\n",
"most_popular_nfts.at['0x1A92f7381B9F03921564a437210bB9396471050C', 'info'] = ' COOL Token'\n",
"most_popular_nfts.at['0xBd3531dA5CF5857e7CfAA92426877b022e612cf8', 'info'] = 'PPG Token'\n",
"most_popular_nfts = most_popular_nfts.rename(columns={'nft_address': 'count'})\n",
"most_popular_nfts"
]
},
{
"cell_type": "code",
"execution_count": 175,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Most transaction count per NFT conctract chart')"
]
},
"execution_count": 175,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAxoAAAH/CAYAAADQVqtKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABPTUlEQVR4nO3de3zO9f/H8ee1s/PMqTTKIadGJ2yK1JbDzDZMRctU34icvopszCkzjBxmhB859FUUY05JUchhUqlWSEnMaTnGmG3X9fn94ea6WZsZfbbL4XG/3dxurs/h/X593tfnNtfT+/25ZjEMwxAAAAAAmMjJ0QUAAAAAuPMQNAAAAACYjqABAAAAwHQEDQAAAACmI2gAAAAAMB1BAwAAAIDpCBoAkIfU1FTVrl1b4eHhufZFRUWpdu3aOnXq1E21/eOPP2rYsGF57vvkk0+0cOHCm2q3sF1d908//aS+ffs6uKIbl5CQoC+++KJI+kpMTFSDBg3066+/5tj++uuvKzExUZIUGRmpZs2aKTQ0NMef48eP2//eokULNWjQwP563LhxRVL/P5k9djfaXnJystq2bVvk/QK4eS6OLgAAblXu7u46cOCADh8+rPvuu0+SdOHCBX377bf/qt3ffvtNx48fz3Pft99+qwcffPBftV9Yrq67fv36io+Pd3BFNy45OVk1a9Yssv4Mw9Bbb72lJUuWyN3dPc9jXn75Zf3nP//JtT0pKUnS5ZpHjRplf+0oZo9dUb8Xju4XuBsRNADgGpydnRUYGKiVK1eqR48ekqR169YpICBA77//vv24xYsX64MPPpCTk5PKly+voUOHqlq1atq5c6fGjh0rm80m6fL/ZDdo0EDx8fE6d+6coqKiNGbMGHs7n3/+uTZs2KAtW7bIw8NDp06d0q5du5SWlqbatWsrMjJSw4YN08mTJ/XXX3/pvvvu0+TJk1WuXDn5+/urffv22rZtm44eParAwEC9/fbbSk9PV1RUlP788085OTnpoYce0jvvvCNJio2N1Q8//KD09HQZhqGYmBg9/vjjSk9PV0xMjL777js5Ozvr2WefVefOnXPU3a5dO40aNUqrVq3SuXPnNHLkSO3Zs0cWi0XNmjXTm2++KRcXF9WvX1/du3fXli1blJaWpoiICL388su5xvqHH35QTEyMLl68KFdXV7399ttq0qSJdu7cqbi4OPv2//73v3rqqaeUmJiozz77TDNnzpSkHK8jIyNVsmRJ7d27V8eOHVP16tU1ceJELV++XCkpKYqLi5Ozs7NatGhh7z85OVlxcXGqVKmSDh06JA8PD40dO1Y1atRQZmamJkyYoG+++UZWq1X16tVTdHS0SpYsKX9/fzVo0EB79+7Vm2++maNNSWrSpImysrI0bty4a85imWHJkiWaO3eunJycVLZsWY0bN0733nvvNe/Na41RiRIl8nwv9u/fn2Ps1q9frzNnzujQoUN6+umn1bFjR73zzju6cOGC0tLSVKdOHU2ePFnu7u4Fau+f45bX9UiXg37//v21f/9+Xbp0STExMWrYsKH++OOPa/bv4+OjgIAA7dmzR8HBwfn2C8BkBgAgl0OHDhmPPPKI8dNPPxmBgYH27V27djX27t1r1KpVyzh58qSxdetW49lnnzVOnjxpGIZhLF261AgMDDRsNpsRERFhrFq1yjAMw9i9e7cxYsQI+zHdu3fPs99BgwYZs2fPNgzDMOLj441WrVoZWVlZhmEYxrx584yZM2cahmEYNpvNeO2114w5c+YYhmEYzzzzjDF27FjDMAzj2LFjRv369Y2DBw8ay5YtM1599VXDMAwjOzvbGDJkiHHgwAHju+++M/r06WNYrVbDMAxj5syZxuuvv24YhmHExsYa/fv3N7Kzs41Lly4Z4eHhxvbt23PUvX37diMoKMgwDMN4++23jVGjRhk2m824dOmS8eqrr9rrrFWrlvHBBx8YhmEYP/30k+Hj42NkZGTkuObMzEzjySefNL788kv7cW3btjVOnTplNGnSxNi1a5dhGIbx66+/Go0bNzYOHjyYawyvfj1o0CDjhRdeMC5dumRkZmYa7dq1M5YsWWIYhmG89NJLxqeffppr3Ldv327UqVPH+OabbwzDMIwPP/zQaN++vWEYhjF16lRj7Nixhs1mMwzDMN59911j+PDh9nFPSEjI8728UtPx48cNPz8/Y8OGDYZhGEb37t2NpUuX2mtt2rSpERISYv/z8ccf56rtyljnZffu3Yavr69x5MgRwzAMY+7cucbQoUPzvTevNUbXei+sVmuOsRs0aJDRtWtXew1jx441li9fbhjG5fezbdu2xtq1awvcXkGuZ/v27UbdunXt98PcuXONiIiIfPs3jMv34LJly+ztX6tfAOZjRgMA8uHj4yMnJyelpKSoXLlySk9PV61atez7N2/erDZt2sjLy0uS1KFDB40ePVqpqakKDAzUO++8ow0bNuiJJ57Qm2++ecP9P/LII3JxufyjumvXrtq5c6fmzp2rAwcOaN++fXr44YftxwYEBEiSKlWqpHLlyuns2bN6/PHHNWnSJHXp0kVPPPGEunbtqvvvv1/333+/ypQpo0WLFunQoUNKTk5WiRIlJElbt25VVFSUnJ2d5ezsrP/973+SZH+u4J82bdqkjz76SBaLRW5uburUqZPmz5+v7t2756jroYceUmZmpi5cuJBjGdGvv/4qJycnPf300/YxX7lypTZu3KiqVavar/HBBx/UY489ph07dshiseQ7bs2aNZObm5skqVatWjp79ux1x7pOnTpq2LChJCksLEzvvPOOTp8+ra+++krnzp3T1q1bJUlZWVkqV66c/bwr51xLxYoVNXr0aA0ePFgrVqzItf9aS6cKatu2bWratKnuvfdee3uSFBcXd817U8p7jK71XuTl8ccft/994MCB2rJli/7v//5PBw4cUFpami5cuHBD7V3vepKTk1WlShX7/VCnTh0tXbo03/6vuN57BKBwEDQA4DpCQkK0YsUKeXl5KTQ0NMc+wzByHW8YhrKzs9WpUyc988wz2rJlizZv3qyEhIQ8P2jmp3jx4va/jx8/Xj/++KPCwsLk6+ur7OzsHP1f/eHdYrHIMAxVqVJFn3/+uZKTk7V9+3a98sorio6OloeHh0aPHq1XXnlFAQEBql69ur02FxeXHB/kjx49Kg8Pj2vWeGVp2NWvs7Ozc9V1pc1/jpmzs3Ou4PDrr7/mavfKudnZ2XJzc8vRTlZWVo7jrq73ylhcj7Ozc66+nJ2dZbPZNHjwYDVv3lySlJ6erkuXLtmPu/o9uhZ/f3+1bt1agwYNsgdHs/xz/DIyMnT48OF8700p7zG61ntRvXr1XG1dfd1vvvmmrFarAgMD9fTTT+vo0aM33N71rkeSXF1dc9WcX/951Qqg6PCtUwBwHaGhoVq7dq3WrFmT61tvmjZtqjVr1ti/gWrp0qXy9PTU/fffr06dOmn37t3q0KGDRo0apb///ltnz56Vs7Nzjg/iV8tv39dff62uXbuqXbt2KleunLZu3Sqr1Zpv7R9++KGioqLUtGlTDRw4UE2bNtW+ffu0ZcsWPfPMM3rxxRdVv359ffHFF/a2mjRpomXLlslmsykzM1N9+/bVN998c83amjZtqoULF8owDGVmZurjjz/WE088cd1xvaJ69eqyWCzasmWLJOnnn39W165d1aBBA/3xxx/68ccfJUn79u3TN998o8aNG8vLy0v79u3TpUuXlJ2drS+//LJAfeU3vnv27NGePXskXX7u5rHHHlPp0qXt15eZmSmbzaahQ4dq4sSJBb6+KyIjI5WWlqZt27bd8Ln58fX11bZt25SWliZJWrRokcaPH5/vvXkt13ovbDbbde/NXr16qU2bNrJYLPrhhx9ktVpvqr1rXU9+rtV/XvK7DgDmYkYDAK6jUqVKqlGjhkqVKiVPT88c+5588km9/PLL9g9PXl5emjlzppycnDRgwADFxsZq8uTJcnJyUu/eveXt7S2bzabJkyerV69emjZtWo72nnrqKY0aNSrPOnr16qW4uDhNnz5dzs7Oeuyxx3Tw4MF8a2/
"text/plain": [
"<Figure size 842.4x595.44 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"fig.set_size_inches(11.7, 8.27)\n",
"sns.barplot(y=most_popular_nfts['info'], x=most_popular_nfts['count']).set_title('Most transaction count per NFT conctract chart')"
]
},
{
"cell_type": "code",
"execution_count": 176,
"metadata": {},
"outputs": [
{
"data": {
"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>transaction_value</th>\n",
" <th>nft_address</th>\n",
" <th>info</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2021-01-01 00:16:46</th>\n",
" <td>0.000000e+00</td>\n",
" <td>0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205</td>\n",
" <td>SOR token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-01-01 00:16:46</th>\n",
" <td>0.000000e+00</td>\n",
" <td>0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205</td>\n",
" <td>SOR token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-01-01 00:01:37</th>\n",
" <td>0.000000e+00</td>\n",
" <td>0x06012c8cf97BEaD5deAe237070F9587f8E7A266d</td>\n",
" <td>CryptoKitties Core</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-01-01 00:19:08</th>\n",
" <td>3.000000e+16</td>\n",
" <td>0x06012c8cf97BEaD5deAe237070F9587f8E7A266d</td>\n",
" <td>CryptoKitties Core</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-01-01 00:16:46</th>\n",
" <td>0.000000e+00</td>\n",
" <td>0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205</td>\n",
" <td>SOR token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-05-31 23:57:10</th>\n",
" <td>0.000000e+00</td>\n",
" <td>0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D</td>\n",
" <td>BAYC Token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-05-31 23:57:26</th>\n",
" <td>0.000000e+00</td>\n",
" <td>0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205</td>\n",
" <td>SOR token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-05-31 23:57:26</th>\n",
" <td>0.000000e+00</td>\n",
" <td>0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205</td>\n",
" <td>SOR token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-05-31 23:57:26</th>\n",
" <td>0.000000e+00</td>\n",
" <td>0x3B3ee1931Dc30C1957379FAc9aba94D1C48a5405</td>\n",
" <td>FNDNFT Token</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-05-31 23:59:57</th>\n",
" <td>9.500000e+17</td>\n",
" <td>0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D</td>\n",
" <td>BAYC Token</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1000817 rows × 3 columns</p>\n",
"</div>"
],
"text/plain": [
" transaction_value \\\n",
"timestamp \n",
"2021-01-01 00:16:46 0.000000e+00 \n",
"2021-01-01 00:16:46 0.000000e+00 \n",
"2021-01-01 00:01:37 0.000000e+00 \n",
"2021-01-01 00:19:08 3.000000e+16 \n",
"2021-01-01 00:16:46 0.000000e+00 \n",
"... ... \n",
"2021-05-31 23:57:10 0.000000e+00 \n",
"2021-05-31 23:57:26 0.000000e+00 \n",
"2021-05-31 23:57:26 0.000000e+00 \n",
"2021-05-31 23:57:26 0.000000e+00 \n",
"2021-05-31 23:59:57 9.500000e+17 \n",
"\n",
" nft_address \\\n",
"timestamp \n",
"2021-01-01 00:16:46 0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205 \n",
"2021-01-01 00:16:46 0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205 \n",
"2021-01-01 00:01:37 0x06012c8cf97BEaD5deAe237070F9587f8E7A266d \n",
"2021-01-01 00:19:08 0x06012c8cf97BEaD5deAe237070F9587f8E7A266d \n",
"2021-01-01 00:16:46 0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205 \n",
"... ... \n",
"2021-05-31 23:57:10 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D \n",
"2021-05-31 23:57:26 0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205 \n",
"2021-05-31 23:57:26 0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205 \n",
"2021-05-31 23:57:26 0x3B3ee1931Dc30C1957379FAc9aba94D1C48a5405 \n",
"2021-05-31 23:59:57 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D \n",
"\n",
" info \n",
"timestamp \n",
"2021-01-01 00:16:46 SOR token \n",
"2021-01-01 00:16:46 SOR token \n",
"2021-01-01 00:01:37 CryptoKitties Core \n",
"2021-01-01 00:19:08 CryptoKitties Core \n",
"2021-01-01 00:16:46 SOR token \n",
"... ... \n",
"2021-05-31 23:57:10 BAYC Token \n",
"2021-05-31 23:57:26 SOR token \n",
"2021-05-31 23:57:26 SOR token \n",
"2021-05-31 23:57:26 FNDNFT Token \n",
"2021-05-31 23:59:57 BAYC Token \n",
"\n",
"[1000817 rows x 3 columns]"
]
},
"execution_count": 176,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#get frame with values over time\n",
"num_df = pd.DataFrame()\n",
"#cast to numeric\n",
"num_df = (transfers[[\"transaction_value\", \"timestamp\"]].apply(pd.to_numeric, errors='coerce'))\n",
"#add nft_address column to it\n",
"num_df[\"nft_address\"]=transfers[\"nft_address\"]\n",
"#filter out only ones that are in most_popular_nfts variable\n",
"num_df = num_df[num_df.nft_address.isin(list(most_popular_nfts.index))]\n",
"#convert timestamp in to date time\n",
"num_df[\"timestamp\"] = pd.to_datetime(num_df.timestamp, unit='s', errors='coerce')\n",
"#set index as timestamp\n",
"num_df = num_df.set_index(\"timestamp\")\n",
"\n",
"num_df['info'] = None\n",
"for i in range(len(most_valuable_nfts)):\n",
" address = most_popular_nfts.iloc[i].name\n",
" \n",
" num_df.loc[num_df.nft_address == address, 'info'] = most_popular_nfts.at[address, 'info'] #most_valuable_nfts.at[num_df.iloc[i]['nft_address'], 'info']\n",
"\n",
"num_df"
]
},
{
"cell_type": "code",
"execution_count": 179,
"metadata": {},
"outputs": [],
"source": [
"#group timestamps by day, create column per each nft_address, aggregate transaction value by count and sum\n",
"new_df = num_df.groupby([pd.Grouper(freq='d'), 'nft_address', 'info'])['transaction_value'].agg(transaction_value=\"count\").rename(columns={'transaction_value': 'count'})\n"
]
},
{
"cell_type": "code",
"execution_count": 180,
"metadata": {},
"outputs": [
{
"data": {
"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></th>\n",
" <th></th>\n",
" <th>count</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th>nft_address</th>\n",
" <th>info</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th rowspan=\"4\" valign=\"top\">2021-01-01</th>\n",
" <th>0x06012c8cf97BEaD5deAe237070F9587f8E7A266d</th>\n",
" <th>CryptoKitties Core</th>\n",
" <td>179</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85</th>\n",
" <th>ENS Base registrar</th>\n",
" <td>166</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205</th>\n",
" <th>SOR token</th>\n",
" <td>831</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270</th>\n",
" <th>BLOCKS Token</th>\n",
" <td>39</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-01-02</th>\n",
" <th>0x06012c8cf97BEaD5deAe237070F9587f8E7A266d</th>\n",
" <th>CryptoKitties Core</th>\n",
" <td>168</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <th>...</th>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"5\" valign=\"top\">2021-09-25</th>\n",
" <th>0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85</th>\n",
" <th>ENS Base registrar</th>\n",
" <td>1965</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205</th>\n",
" <th>SOR token</th>\n",
" <td>286</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D</th>\n",
" <th>BAYC Token</th>\n",
" <td>75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xBd3531dA5CF5857e7CfAA92426877b022e612cf8</th>\n",
" <th>PPG Token</th>\n",
" <td>38</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270</th>\n",
" <th>BLOCKS Token</th>\n",
" <td>505</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1240 rows × 1 columns</p>\n",
"</div>"
],
"text/plain": [
" count\n",
"timestamp nft_address info \n",
"2021-01-01 0x06012c8cf97BEaD5deAe237070F9587f8E7A266d CryptoKitties Core 179\n",
" 0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85 ENS Base registrar 166\n",
" 0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205 SOR token 831\n",
" 0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270 BLOCKS Token 39\n",
"2021-01-02 0x06012c8cf97BEaD5deAe237070F9587f8E7A266d CryptoKitties Core 168\n",
"... ...\n",
"2021-09-25 0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85 ENS Base registrar 1965\n",
" 0x629A673A8242c2AC4B7B8C5D8735fbeac21A6205 SOR token 286\n",
" 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D BAYC Token 75\n",
" 0xBd3531dA5CF5857e7CfAA92426877b022e612cf8 PPG Token 38\n",
" 0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270 BLOCKS Token 505\n",
"\n",
"[1240 rows x 1 columns]"
]
},
"execution_count": 180,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"new_df"
]
},
{
"cell_type": "code",
"execution_count": 190,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Zz8dfvhRevLJJ7R+fXtGoLtyZZs23njjjOdqaWmRJN1xx+1Z97W7u1vf+96x2mKLrXTzzTdoxoxd9fWvz9LHH3+kK6+cq1tuub0KX4kUAl0AAAAAAABU7B8rX9FL697RqZscJsMwBnp3hqXIPnvknaathYkTN9Q777yVcduSJZ9qxYrlkqQpU6b6tx966Nf05z8/rIkTN9ABB3xJkmRZlnbaaWdJ0nbb7ah//eupjMf68MPFOuCAgyRJra0T1NDQqDVrVkuSfvCDOdp118/q2GOP1vbb76jPfGZG0fv9yScfa+3aNTrjjB9KSvTwfvrpJ/rOd76vX//6FzrllNlqbZ2gbbbZrs/rXbp0qcaNS4XYr732isaOHZd3X6dMmSZJev/9d/XSSy/osccekSS1t68vep+LxaJoAAAAAAAAqNhf257X/614Th1290DvCqroc5/bU88++7Q+/fQTSVI8HteNN16n999/T5IUCKTC+7333lfPPfesnnji7zrwwIP97RctekdSop92+vRNZRgBua4jSZo6dbpeffUVSVJb2wq1t69XS8soSdImm2ymxsYmXXDBXF122UV+eOoJBAJynMTjJB4ztVDbhhtupAkTJur662/WggULNWvWEdp22+31yCN/0pe+9GXdeOOtmj59Ez300P0Zj3nIIYfq9ttvV3d34jhes2a1rrzyUvX09OTdV+8kxtSp03T44UdpwYKFuuyyq3TAAQeX+6nPiQldAAAAAAAAVCzixCRJMSc+wHuCampsbNL558/V1VdfLsdx1NXVpc997vP6+tdn6eWXX8zYNhwOa6edPqM1a9b4Qack3X33HVq+fJkmTtxAxx03W67rKhaL6+abb9DRR39f8+Zdqr///TFFIhGdddb5sqzMyHK77bbXV77ydV1yyQU6+ujvp92+gy6//GJdd90C7bjjTjrjjB/qmGOOlySNGTNGRxzxbc2Zc7xs29aGG07SPvvsr2g0pquuulz19fUyDENnnXV+r+faQYcffrhOO+0kWZalSKRHP/jBSdpss82L2tejjz5GV111mR566H51dXX6+1NNhpseXQ9hbW3tA70L/a61tXlEvm5UhuNm5OJrj3Jw3CAfjg+Ug+MGhXCMoFQcM4PHKa//VG93fKxffeY8bVA3dqB3JyeOmdqaP/9q7b33Pv7CZrNmHaq7775X4XB4gPeseIPlGGltbc56O5ULAAAAAAAAqFgkOZkbc5nQHalOO+0ktbev98Nc1AaVCwAAAAAAAKhYlMqFEe+6627qc9u99z48AHsyvDGhCwAAAAAAgIr5gS4TukBNEegCAAAAAACgYqlF0ewB3hNgeCPQBQAAAAAAQMW8CV3vvwBqg0AXAAAAAAAAFXFdNzWhS+UCUFMsigYAAAAAAICKpIe4VC4MLy+99IIuuuhcTZs23b9t9Ogxuvzyq3XFFZeos7NTV175Y/++r3zlQD300P/JcRzddNP1eu+9dxWLxVRXV68f/egsbbTR5IzH33vvz2q77XaQJHV1demII47SgQd+qX9eXBHOO+/MjNeXbtmyZXr33Xe0555f6Nd9ItAFAAAAAABARSJpNQtM6A4/M2bM1Ny587Le99prr+gvf/mjDjrokIzbn332aa1c2abrr79ZkvTEE3/XjTdeq6uuujZju5aWUVqwYKE
"text/plain": [
"<Figure size 1728x864 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(24, 12))\n",
"# new_df.unstack()\n",
"ax = sns.lineplot(data=new_df, x='timestamp', y='count', hue='info')\n",
"\n",
"# ax.set(yscale=\"log\")"
2021-10-07 16:44:21 +00:00
]
},
2021-10-07 13:06:21 +00:00
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"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.8.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}