diff --git a/datasets/nfts/notebooks/transfers_count.ipynb b/datasets/nfts/notebooks/transfers_count.ipynb index 1c522f56..02b84551 100644 --- a/datasets/nfts/notebooks/transfers_count.ipynb +++ b/datasets/nfts/notebooks/transfers_count.ipynb @@ -278,121 +278,30 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 140, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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T6a2tpa4uDgyMjJYvHixv7YkItJAgNXYxdLz0OHDhxk9ejSbNm2ib9++zT4uc00hj915dRtOJiIdxTlxhns++v3LH/p7BBExTMH1k+M1Xn+PICKGKbgiIoYouCIihii4IiKGKLgiIoYouCIihii4IiKGKLgiIoYouCIihii4IiKGKLgiIoYouCIihii4IiKGKLgiIoYouCIihii4IiKGKLgiIoYouCIihii4IiKGKLgiIoYouCIihii4IiKGKLgiIoYouCIihii4IiKGKLgiIoYouCIihii4IiKGKLgiIoYouCIihii4IiKGKLgiIoYouCIihii4IiKGKLgiIoYouCIihii4IiKGKLgiIoYouCIihii4IiKGKLjnqMw1hWSuKfT3GCJyFtn8PYA07niN198jiMhZpjNcERFD/BLcFStWEBcXR1xcHIsXLwYgPz+fhIQExowZw9KlS3233b17N0lJSURHRzN37ly83pNnfkVFRSQnJxMTE8O0adOorKwEoKKigqlTpxIbG0tycjKlpaXmNygi0gjjwc3Pz2fr1q28/vrr5OTk8PHHH7Nu3TrmzJlDVlYWubm57Nq1i82bNwOQkpLCvHnz2LBhA5ZlkZ2dDcD8+fOZNGkSLpeLwYMHk5WVBcCyZctwOp2sX7+eCRMmkJGRYXqLIiKNMh7ciIgIUlNTCQ4Oxm63c8kll3DgwAH69+9Pv379sNlsJCQk4HK5OHLkCNXV1QwbNgyAxMREXC4XHo+HHTt2EB0dXW8dIC8vj4SEBADi4+PZsmULHo/H9DZFRBowHtzLLrvMF9ADBw6Qm5tLQEAAERERvts4HA6Ki4spKSmptx4REUFxcTHl5eWEhYVhs9nqrQP1jrHZbISFhXHs2DFDuxMRaZrfnjTbt28f9957L7Nnz+b73/9+g98HBARgWVaL1psSGKjnBkXE//xSosLCQu6++24effRRxo0bR48ePSgrK/P9vqSkBIfD0WC9tLQUh8NBeHg4breburq6eutw8uz41DFerxe3203Xrl3NbU5EpAnGg/vll18yffp0MjMziYuLA2Do0KHs37+fL774grq6OtatW0dkZCR9+vQhJCSEwsKTbwDIyckhMjISu92O0+kkNze33jpAVFQUOTk5AOTm5uJ0OrHb7aa3KSLSgPE3PqxatYqamhoWLVrkW5s4cSKLFi1ixowZ1NTUEBUVRUxMDACZmZmkpaVRWVnJoEGDmDJlCgDp6emkpqaycuVKevXqxZIlSwCYOXMmqampxMXF0aVLFzIzM01vUUSkUcaDm5aWRlpaWqO/e+ONNxqsDRw4kFdeeaXBep8+fVi9enWD9a5du/Lcc8/974OKiJxlejZJRMQQBVdExBAFV0TEEAVXRMQQBVdExBAFV0TEEAVXRMQQBVdExBAFV0TEEAW3Hfr9yx/6ewQRaQUFtx3SF0yKtE8KroiIIQquiIghCq6IiCEKroiIIQquiIghCq6IiCEKroiIIQpuB6E3Q4ic+xTcDkJvhhA59ym4IiKGKLgiIoYouCIihii4HZCeQBM5Nym4HZCeQBM5Nym4IiKGKLgiIoYouCIihii4IiKGKLgdnF6xIHLuUHA7OL1iQeTcoeCKiBii4J5HMtcUkrmm0N9jiJy3bP4eQMzR5QUR/9IZroiIIQrueUqvXhAxT8E9T1mWpeiKGKbgnsd0TVfELAVXAF1iEDFBwRVAlxhETFBwxUeXGETall6HKw1krimkU3AQAQEBTJ8w1N/jiHQYOsOVBo7XeDle4232ZQZdihBpHgVXzsiyLP6Us+uMbws+dSlC4RU5M11SkO9UXXvyjLdTcBB/ytnlW//aXUOn4CDfz6dfA/5Tzi5qPHW6JCFymg4Z3DfffJOVK1fi8Xi4++67SU5O9vdIHUZ17X+jeuqyQ2iIrV6IT7/dn3J2+cJ8+jXhU9eJOwXbFGY5b3S44BYXF7N06VJee+01goODmThxItdccw2XXnqpv0fr0KprT54Bnwrp6euNhfnU2imnh7lT8H//Wn7trgHgsTuvbvKs+fcvf6hgS7vQ4YKbn5/PtddeS9euXQGIjo7G5XLx85///IzH1dXVAXD06NEWPZ6n6hiHDx9u8ZzfdZz3eDlAo7dp7NjT15r68+n3WeM+hsdb5/vd6T97j5fj8QYS6PnvXw/v8dpmrf2nqpZaeyAh9sZvV9PEsTWnHVtjr39/IfZAlq/Jo7b2BADL1+ThrvIQbAsiODiQ2toTDdZO+a41j+cEt/10QJP/HURao2fPnthsDfMaYJ1+mtEB/OEPf6CqqopZs2YB8PLLL/PRRx/x5JNPnvG4goICXXoQkbNi06ZN9O3bt8F6hzvDbez/PwICAr7zuMGDB/PXv/6ViIgIgoKCvvP2IiJN6dmzZ6PrHS64PXr0oKCgwPdzSUkJDofjO4/r1KkTTqezLUcTkfNch3sd7nXXXcf27ds5duwYx48fZ+PGjURGRvp7LBGRjnmGO2vWLKZMmYLH42H8+PFceeWV/h5LRKTjPWkmInKu6nCXFEREzlUKroiIIQquiIghCq6IiCEKroiIIQruWfbll1/yyCOPMG/ePN544w1/j9Nqhw4dIjEx0d9jtNi+fftISUnhiSeeICsry9/jtMqePXt49NFHSUtLY9u2bf4ep1W8Xi933nknO3fu9PcoLfbpp58yfvx4UlNTeeGFF87qfXe41+H6W3Z2Nvfccw9DhgzhvvvuY+zYsf4eqcUqKip46aWXuOCCC/w9SouVl5cze/ZsunfvzgMPPODvcVqlqqqK2bNnY7PZ+O1vf8uoUaP8PVKLrVixosm3t57rCgoK6N69OydOnGDo0LP7KXQ6wz3LysrK6NGjB0C7/UyGCy+8kJSUFDp37uzvUVpsxIgRdO/eneeff564uDh/j9MqV111FZWVlTz88MPccMMN/h6nxXJychg2bBj9+/f39yit4nQ6WbhwIQsWLGD58uVn9b4V3LOsZ8+elJSUAHDixAk/T3P+qamp4Te/+Q2XX345t956q7/HaZWdO3ficDh46aWXeOWVV/w9Tott2LCBt99+m3feeees/5PchF27dnHixAmCg4Ox2+1n9b51SeEsmzBhAk8//TQhISEkJSX5e5zzzooVK/j4449xu924XC4yMjL8PVKLVVdXM3fuXMLDw4mKivL3OC22cuVKAJYvX86NN97o32Fa4fvf/z4ZGRmEhYVx2223nd07t6RZ/vOf/1hxcXHWoUOHfGtvvPGGFRsba/3kJz+x1qxZ48fpmqc976E9z35Ke9+D5v/fKbjN8MEHH1jx8fHWFVdc4fuPdfToUeumm26yysvLrcrKSishIcHat2+fnydtWnveQ3ue/ZT2vgfNf3boGm4zZGdnk56eXu9zdU//Kp/OnTv7vsrnXNWe99CeZz+lve9B858duobbDI1dBywpKSEiIsL3s8Ph4KOPPjI5Vou05z2059lPae970Pxnh85wW8lq5Vf5nEva8x7a8+yntPc9aP6WU3BbqUePHpSVlfl+bu5X+ZxL2vMe2vPsp7T3PWj+llNwW6kjfJVPe95De579lPa+B83fcrqG20od4at82vMe2vPsp7T3PWj+ltNX7IiIGKJLCiIihii4IiKGKLgiIoYouCIihii4IiKGKLgiIoYouCIihii4cs5LT0/n5ptvZunSpf4epYFjx47xox/9qNHfrVq1itTUVMMTyblM7zSTc97f//538vLy2u2XEoqcouDKOW3SpElYlsUDDzzAp59+SnR0NHv37uWRRx7hBz/4AU888QRff/01AQEB3Hvvvdx66628//77LFmyBIfDwb59+wgNDWXGjBmsXr2a/fv3M2bMGObMmXPGx92/fz9PPPEEVVVVlJSUMHDgQJYtW0ZISAgbN25k6dKlhIaGMnjwYN8xHo+HBQsWkJ+fT7du3ejWrRtdunQBYPLkyVx00UV8/vnn3HHHHdx6661kZGTw73//G4/Hw8iRI/nVr36FzWbj2Wef5a233sJut/O9732Pp556CofD0eS6tCNt+vHmImfBgAEDrK+++sq66aabrBUrVliWZVkej8caPXq0tWHDBsuyTn56/w033GD985//tN577z3r8ssvtz7++GPLsizrvvvus26//XarpqbG+uqrr6wrrrjCOnr06Bkfc9GiRVZOTo5lWZZVW1trxcfHWy6XyyotLbWuvvpq3zcDPPfcc9aAAQMsy7KsF154wZoyZYpVU1NjVVZWWuPGjbNmz55tWZZl3Xnnndavf/1r3/2npqZaf/nLXyzLsiyv12s99thj1vPPP28VFRVZV111lVVTU2NZlmWtWrXKeuutt5pcl/ZFZ7jSrjidTgAOHDhATU0NY8aMAU5+EMmYMWN49913ueaaa+jbty+DBg0CTn4pYJcuXQgODiY8PJwLLriAb775xvd19o1JSUlh27Zt/PGPf+TAgQOUlJRQVVVFYWEhAwYM4NJLLwXg9ttvZ8mSJQBs376d+Ph4goODCQ4OJiEhgb179zaYHSAvL4+dO3f6vpW3urrat4+BAwcybtw4IiMjiYyMZOTIkZw4caLRdWlfFFxpVzp37gw0/hX0lmXh9XoBCA4Orvc7m61lf9UfeeQR6urqiI2N5cYbb+TLL7/EsiwCAgLqfXD1me43KCio0dlPzf+73/2OSy65BICKigoCAgIIDAxkzZo17Ny5k+3bt7Nw4UKuueYa0tLSmlyX9kOvUpB26eKLL8Zut7Nx40YAiouL2bBhA9ddd91Zuf+tW7cyffp0brnlFgICAvjwww+pq6vD6XTy6aefsmfPHgBee+013zE33HADOTk51NTUUFNTQ25ubpP3f/311/PCCy9gWRa1tbVMmzaNNWvWsGfPHuLj47nkkkt48MEHufvuu9m7d2+T69K+6AxX2iW73U5WVhYLFixg+fLl1NXVMX36dK699lref//9//n+Z82axfTp07nooosIDQ1l+PDhHDx4kPDwcDIzM3nsscew2+0MHz7cd8zEiRM5ePAg8fHxdO3alf79+zd5/3PnziUjI4OEhAQ8Hg/XXXcd999/P3a7ndjYWJKSkujcuTOdOnUiLS2NgQMHNrou7Ys+D1dExBCd4cp56fPPP2fWrFmN/u7iiy9m2bJlZgeS84LOcEVEDNGTZiIihii4IiKGKLgiIoYouCIihii4IiKG/B/3UJPty/X+sQAAAABJRU5ErkJggg==\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "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", - "ax = sns.displot(from_series, stat=\"count\", bins=200, log_scale=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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LymMHj1ay5YtU+PGjTVy5Ehfj4ObWLVqlb744gtduXJFWVlZWrRoka9HumPXr1/XvHnz1KpVKz388MO+HqdWrF69WpK0cuVKPfLII74dppZ06NBBixYt0l133aWf/exnd75Dyw9dvnzZeuyxx6xTp0551u3atcsaPHiw9eijj1qbNm3y4XS3z9+Oy9+Ox7I4pvrCV8fkd8H97LPPrISEBOtHP/qR5z/m2bNnrQEDBlgXLlywrl69arlcLuv48eM+nvT78bfj8rfjsSyOqb7w5TH53TXcrVu36je/+U2le+v+/8f9hISEeB73U5/423H52/FIHFN94ctj8rtruNVd37vV437qA387Ln87Holjqi98eUx+d4ZbHesOHudTl/nbcfnb8UgcU31h6pgaRHD/93E+//u4n/rK347L345H4pjqC1PH1CCCe6vH/dRX/nZc/nY8EsdUX5g6Jr+7hlud8PBwJScnKzEx0fO4n4iICF+Pdcf87bj87Xgkjqm+MHVMPGIHAAxpEJcUAKAuILgAYAjBBQBDCC4AGEJwAcAQggsAhhBcADCE4KLOmThxooqKimz9HUVFReratWu12958803NmTPH1t+Phongos7xp6fYAv9fg/hqL+qPuXPnSpKeeuopzZ8/XytXrtTFixflcDg0ceLEWz7T7B//+IdSU1NVXFwst9utbt266fXXX1fjxo2VnZ2ttLQ0NW3aVN27d/e8p7S0VAsXLlRubq5at26t1q1b6+6775YkPfnkk2rRooW+/vpr/fznP9ewYcO0aNEiHTt2TKWlpXrwwQf161//WoGBgVqxYoX27NmjoKAgtWzZUkuWLJHT6bzpejRAtX5Lc+AOdenSxTp//rwVGxtr7d6927Ksf9+Rv3///tYnn3xS43uXLl1q7dixw7Isy7px44aVkJBgZWVlWefOnbN+/OMfe+7iv2bNGqtLly6WZVnWhg0brMTERKukpMS6evWqNXz4cGv27NmWZVnWE088Yc2dO9ez/zlz5lgbN260LMuyysrKrJkzZ1rr1q2zvvvuO6t3795WSUmJZVmW9eabb1p79uy56Xo0TJzhok766quvVFJSokGDBkn6981FBg0apA8//FC9evW66ftmzZql/fv3a/369frmm2/kdrtVXFysgwcPqkuXLurcubMkacyYMVq+fLkkKS8vTwkJCQoODlZwcLBcLpeOHj3q2WdkZKTn5/fff1/5+fmeJ+1ev37dM1+3bt00fPhwxcTEKCYmRg8++KAqKiqqXY+GieCiTqru5s+WZamsrKzG982YMUPl5eUaPHiwHnnkEZ05c0aWZcnhcFS6yXRg4M3/1w8ICKi0HBIS4vm5oqJCb7zxhjp16iRJunTpkhwOhxo1aqRNmzYpPz9feXl5Wrx4sfr27auUlJSbrkfDwx/NUOcEBASoXbt2CgoKUnZ2tiSpoKBAu3fvVnR0dI3v/eijjzR16lTFx8fL4XDo73//u8rLyxUZGakTJ07oyJEjkqRt27Z53tO/f3/t2LFDJSUlKikp0Z/+9Keb7r9fv37asGGDLMvSjRs39Nxzz2nTpk06cuSIEhIS1KlTJz377LMaP368jh49etP1aJg4w0WdM3DgQD355JNKT0/XwoULtXLlSpWXl2vq1KmKioqq8b3JycmaOnWqWrRooaZNm+qBBx7QyZMn1apVK7366quaOXOmgoKC9MADD3jeM3bsWJ08eVIJCQkKDQ1Vx44db7r/efPmadGiRXK5XCotLVV0dLQmTZqkoKAgDR48WCNHjlRISIiaNGmilJQUdevWrdr1aJi4Hy4AGMIZLuqVr7/+WsnJydVuu+eee/T666+bHQj4HjjDBQBD+KMZABhCcAHAEIILAIYQXAAwhOACgCH/B9XBRADriMKaAAAAAElFTkSuQmCC\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ "#create data frame where group together from_addresses and count size of each group (how many TX each address did in total)\n", - "to_series = transfers[\"to_address\"].groupby(transfers[\"to_address\"]).size()\n", - "#summ all same number of transactions over all addresses\n", - "# num_df = num_df.value_counts(normalize=False, sort=True)\n", - "# to_series = num_df.rename(\"Number of Transactions to an address\")\n", - "ax = sns.displot(to_series, stat=\"probability\", bins=12, log_scale=True)" + "to_series = transfers[\"to_address\"].groupby(transfers[\"to_address\"]).size()" ] }, { "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "to_address\n", - "0x0000000000000000000000000000000000000000 119978\n", - "0x0000000000000000000000000000000000000001 7307\n", - "0x0000000000000000000000000000000000000069 1\n", - "0x00000000000000000000000000000000000000ff 1\n", - "0x0000000000000000000000000000000000001388 1\n", - " ... \n", - "0xfff98e0Af7Dfa591f97a768dcd71C39fA6CC7C16 2\n", - "0xfffAAD6BA8F5Cb255111EE0bB8E06e2766cb8e49 89\n", - "0xfffFa8f60d2eC6a559ef3617576ED28Bc397D360 4\n", - "0xfffaA912b2740381eB753A03E9c13c661CeFC0ed 36\n", - "0xffff0C5C628171f26B06322Db50dA0A6D1C8DD5a 3\n", - "Name: to_address, Length: 422045, dtype: int64" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "to_series" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "279748" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from_series.size" - ] - }, - { - "cell_type": "code", - "execution_count": 42, + "execution_count": 141, "metadata": {}, "outputs": [], "source": [ "df = pd.DataFrame()\n", "df = df.join(to_series.rename(\"to_count\"), how='outer')\n", - "df = df.join(from_series.rename('from_count'), how='outer')\n", - "# df = df.fillna(0.00001)\n", - "# from_series.to_frame().join(to_series)\n", - "# df=df[df[\"to_count\"]<10e3]\n", - "# df=df[df[\"from_count\"]<10e3]" + "df = df.join(from_series.rename('from_count'), how='outer')" ] }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 142, "metadata": {}, "outputs": [ { @@ -438,7 +347,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 143, "metadata": {}, "outputs": [], "source": [ @@ -448,7 +357,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 144, "metadata": {}, "outputs": [ { @@ -494,7 +403,7 @@ }, { "cell_type": "code", - "execution_count": 132, + "execution_count": 145, "metadata": {}, "outputs": [], "source": [