{"id":364487,"date":"2024-05-21T02:17:55","date_gmt":"2024-05-21T02:17:55","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=364487"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2024-05-21T02:17:55","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=364487","title":{"rendered":"<span>Pandas \u0432 pandas&#8217;\u0435: \u0443\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u0432 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/c12\/f57\/c68\/c12f57c6864ad8fdd8bc665ff9711a66.jpeg\" alt=\"pandas \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0438\u043c\u043f\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445\" title=\"pandas \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0438\u043c\u043f\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445\" width=\"667\" height=\"435\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c12\/f57\/c68\/c12f57c6864ad8fdd8bc665ff9711a66.jpeg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>pandas \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0438\u043c\u043f\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/figcaption><\/div>\n<\/figure>\n<p>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043a \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c \u043d\u0430 \u043f\u0438\u0442\u043e\u043d\u0435 (\u043d\u0430\u043f\u0440. <a href=\"https:\/\/pandas.pydata.org\/docs\/reference\/index.html\" rel=\"noopener noreferrer nofollow\">pandas<\/a>) \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 doc-\u0441\u0442\u0440\u043e\u043a\u0430\u0445 \u0438 \u0440\u0430\u0437\u0431\u0440\u043e\u0441\u0430\u043d\u0430 \u043f\u043e \u0441\u043e\u0442\u043d\u044f\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0441\u0430\u0439\u0442\u0430. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0443\u043f\u0430\u043a\u0443\u0435\u043c \u0435\u0451 (\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0438\u0437 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0438 \u043c\u0435\u0442\u043e\u0434\u0430) \u0432&#8230; \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c. \u041d\u043e \u0437\u0430\u0447\u0435\u043c? \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, <s>\u044d\u0442\u043e \u043f\u0440\u0438\u043a\u043e\u043b\u044c\u043d\u043e<\/s> \u0442\u0430\u043a \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e <em>\u0438\u0441\u043a\u0430\u0442\u044c \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/em>. \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u0438\u0437\u0443\u0447\u0438\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u043f\u0438\u0442\u043e\u043d\u043e\u0432\u0441\u043a\u0438\u0435 <em>\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439<\/em>. \u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0442\u0430\u043a\u043e\u0439 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c <em>\u043e\u0441\u043d\u043e\u0432\u043e\u0439 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f\/\u0434\u043e\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f GPT-\u043c\u043e\u0434\u0435\u043b\u0435\u0439<\/em> \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439, \u0431\u0435\u0437\u043e\u0448\u0438\u0431\u043e\u0447\u043d\u044b\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0439 \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0438\u0445 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b, \u043a\u043e\u0434&#8230;<\/p>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u044f \u043e\u0442 \u0442\u0435\u043a\u0441\u0442\u0430, \u0445\u043e\u0442\u044c \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e, \u043a \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0444\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u043c\u0443 \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u043e\u043c\u0443 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044e, \u043c\u044b \u0434\u0432\u0438\u0436\u0435\u043c\u0441\u044f \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 <em>\u043d\u0435\u0430\u043d\u0442\u0440\u043e\u043f\u043e\u043c\u043e\u0440\u0444\u043d\u043e\u0441\u0442\u0438<\/em> \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 &#8212; \u0442\u043e \u0435\u0441\u0442\u044c \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u043e\u0431\u043b\u0435\u0433\u0447\u0435\u043d\u0438\u044f \u0435\u0451 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u043c\u0430\u0448\u0438\u043d\u044b, \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430, \u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0443\u0441\u043b\u043e\u0436\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 (\u043d\u0435 \u043d\u0435 \u0432\u0441\u044f\u043a\u043e\u0433\u043e &#8212; \u0442\u043e\u0442, \u043a\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043e\u043f\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430\u043c\u0438, \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u0442 \u0438\u0437 \u0442\u0430\u043a\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u0443 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435! ) <\/p>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f pandas &#8212; 2.1.4. \u0412\u0435\u0440\u0441\u0438\u044f python 3.8.12.  <\/p>\n<h2>\u041f\u0435\u0440\u0432\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043e\u043f\u044b\u0442 \u0443\u043f\u0430\u043a\u043e\u0432\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0432 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c<\/h2>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438:<\/p>\n<pre><code class=\"python\">import pandas as pd import numpy as np<\/code><\/pre>\n<p>\u0414\u043b\u044f \u043b\u044e\u0431\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0442\u0430\u043a\u0436\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438 \u0441\u0430\u043c\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <code>pandas<\/code>, \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043f\u043e\u0434 \u0438\u043c\u0435\u043d\u0435\u043c <code>pd<\/code>, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u0438\u043b\u0438 \u0435\u0435 \u0447\u0430\u0441\u0442\u044c:<\/p>\n<ul>\n<li>\n<p>\u0437\u0430\u0439\u0442\u0438 \u043d\u0430 <a href=\"https:\/\/pandas.pydata.org\/docs\/index.html\" rel=\"noopener noreferrer nofollow\">\u0441\u0430\u0439\u0442 \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439<\/a>;<\/p>\n<\/li>\n<li>\n<p>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/docs.python.org\/3\/library\/functions.html#help\" rel=\"noopener noreferrer nofollow\">\u0444\u0443\u043d\u043a\u0446\u0438\u044e help()<\/a> &#8212; \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u043f\u0440\u0430\u0432\u043a\u0443 \u043f\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0443;<\/p>\n<\/li>\n<li>\n<p>\u0432\u044b\u0437\u0432\u0430\u0442\u044c <a href=\"https:\/\/docs.python.org\/3\/reference\/datamodel.html?highlight=__doc__#method.__doc__\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0440\u043e\u043a\u0443 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a> __<code>doc__<\/code><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.python.org\/3\/library\/functions.html#dir\" rel=\"noopener noreferrer nofollow\">\u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432<\/a> \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0434\u0430\u043d\u0434\u0435\u0440-\u043c\u0435\u0442\u043e\u0434\u0430 (\u0442.\u0435. \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430, \u0441 \u0434\u0432\u043e\u0439\u043d\u044b\u043c\u0438 \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435)\u00a0__<code>dir__()<\/code><\/p>\n<\/li>\n<\/ul>\n<blockquote>\n<p>\u0414\u0430\u043b\u0435\u0435, \u0433\u043e\u0432\u043e\u0440\u044f \u043e &#171;\u043c\u0435\u0442\u043e\u0434\u0430\u0445 <code>pandas<\/code>&#187; \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e &#171;\u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u0445 <code>pandas<\/code> &#8212; \u043a\u043b\u0430\u0441\u0441\u0430\u0445, \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445, \u043c\u0435\u0442\u043e\u0434\u0430\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u0445, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438&#187;<\/p>\n<\/blockquote>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0434\u0430\u043d\u0434\u0435\u0440-\u043c\u0435\u0442\u043e\u0434\u0430 (\u0442.\u0435. \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430, \u0441 \u0434\u0432\u043e\u0439\u043d\u044b\u043c\u0438 \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u0432\u043d\u0430\u0447\u0430\u043b\u0435 \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435)\u00a0__<code>dir__()<\/code>. <\/p>\n<p>\u0410 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>if not x.startswith('_')<\/code> \u043c\u044b \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u043c \u0432\u0441\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438 \u0434\u0430\u043d\u0434\u0435\u0440-\u043c\u0435\u0442\u043e\u0434\u044b:<\/p>\n<pre><code class=\"python\">[x for x in pd.__dir__() if not x.startswith('_')]<\/code><\/pre>\n<details class=\"spoiler\">\n<summary>\u041f\u043e\u043b\u0443\u0447\u0438\u043c \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u043d\u043e \u043a\u0430\u043a \u0438\u0445 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0442\u044c???<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>['annotations',  'core',  'errors',  'util',  'compat',  'get_option',  'set_option',  'reset_option',  'describe_option',  'option_context',  'options',  'pandas',  'io',  'tseries',  'arrays',  'plotting',  'ArrowDtype',  'Int8Dtype',  'Int16Dtype',  ...   'merge_ordered',  'crosstab',  'pivot',  'pivot_table',  'get_dummies',  'from_dummies',  'cut',  'qcut',  'api',  'testing',  'show_versions',  'ExcelFile',  'ExcelWriter',  'read_excel',  'read_csv',  'read_fwf',  'read_table',  'read_pickle',  'to_pickle',  'HDFStore',  'read_hdf',  'read_sql',  'read_sql_query',  'read_sql_table',  'read_clipboard',  'read_parquet',  'read_orc',  'read_feather',  'read_gbq',  'read_html',  'read_xml',  'read_json',  'read_stata',  'read_sas',  'read_spss',  'json_normalize',  'test',  'Float64Index',  'Int64Index',  'UInt64Index']<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438 \u043d\u0435 \u0434\u0430\u0435\u0442 \u043d\u0430\u043c \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f, \u043a\u0430\u043a \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u044d\u0442\u0438 \u043c\u0435\u0442\u043e\u0434\u044b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u043f\u0440\u044f\u043c\u044b\u043c \u043f\u0443\u0442\u0451\u043c: \u043e\u0442\u043a\u0440\u043e\u0435\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443\u00a0<a href=\"https:\/\/pandas.pydata.org\/docs\/reference\/index.html\" rel=\"noopener noreferrer nofollow\">https:\/\/pandas.pydata.org\/docs\/reference\/index.html<\/a>\u00a0\u0438 \u043e\u0431\u0440\u0430\u0442\u0438\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043c\u0435\u043d\u044e \u0441\u043b\u0435\u0432\u0430. \u0417\u0434\u0435\u0441\u044c \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0432\u0441\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u043c\u0435\u0442\u043e\u0434\u043e\u0432. \u041f\u0440\u043e\u0441\u0442\u043e \u043a\u043e\u043f\u0438\u043f\u0435\u0439\u0441\u0442\u043e\u043c \u0437\u0430\u043d\u0435\u0441\u0435\u043c \u0438\u0445 \u0432 \u0441\u0442\u0440\u043e\u043a\u0443 <code>groups<\/code>. \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>.splitlines()<\/code> &#8212; \u043c\u0435\u0442\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u0430\u043a \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0440\u043e\u043a\u0438 <code>\\n<\/code>. \u0410 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430 <code>.strip()<\/code> \u043c\u044b \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u043f\u0440\u043e\u0431\u0435\u043b\u044b \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0440\u043e\u043a\u0438:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/acf\/1b3\/ec6\/acf1b3ec63b4989a437404abc63125c3.jpg\" alt=\"\u0421\u043b\u0435\u0432\u0430 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0439 pandas\" title=\"\u0421\u043b\u0435\u0432\u0430 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0439 pandas\" width=\"718\" height=\"581\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/acf\/1b3\/ec6\/acf1b3ec63b4989a437404abc63125c3.jpg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>\u0421\u043b\u0435\u0432\u0430 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0439 pandas<\/figcaption><\/div>\n<\/figure>\n<pre><code class=\"python\">groups = \"\"\"Input\/output General functions Series DataFrame pandas arrays, scalars, and data types Index objects Date offsets Window GroupBy Resampling Style Plotting Options and settings Extensions Testing\"\"\"  [x.strip() for x in groups.splitlines()]<\/code><\/pre>\n<pre><code>['Input\/output',  'General functions',  'Series',  'DataFrame',  'pandas arrays, scalars, and data types',  'Index objects',  'Date offsets',  'Window',  'GroupBy',  'Resampling',  'Style',  'Plotting',  'Options and settings',  'Extensions',  'Testing']<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0440\u0430\u0441\u043a\u0440\u043e\u0435\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043f\u0443\u043d\u043a\u0442\u043e\u0432 \u043c\u0435\u043d\u044e \u0438 \u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0435\u043c \u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0441\u0442\u0440\u043e\u043a\u0438. \u041f\u0435\u0440\u0432\u043e\u0439 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u0442\u0440\u043e\u043a\u0443 <code>input_output<\/code>, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0443\u044e \u043c\u0435\u0442\u043e\u0434\u044b \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u0430\u0445:<\/p>\n<pre><code class=\"python\">input_output = '''pandas.read_pickle     pandas.DataFrame.to_pickle     pandas.read_table     pandas.read_csv     pandas.DataFrame.to_csv     pandas.read_fwf     pandas.read_clipboard     pandas.DataFrame.to_clipboard     pandas.read_excel     pandas.DataFrame.to_excel     pandas.ExcelFile     pandas.ExcelFile.book     pandas.ExcelFile.sheet_names     pandas.ExcelFile.parse     pandas.io.formats.style.Styler.to_excel     pandas.ExcelWriter     pandas.read_json     pandas.json_normalize     pandas.DataFrame.to_json     pandas.io.json.build_table_schema     pandas.read_html     pandas.DataFrame.to_html     pandas.io.formats.style.Styler.to_html     pandas.read_xml     pandas.DataFrame.to_xml     pandas.DataFrame.to_latex     pandas.io.formats.style.Styler.to_latex     pandas.read_hdf     pandas.HDFStore.put     pandas.HDFStore.append     pandas.HDFStore.get     pandas.HDFStore.select     pandas.HDFStore.info     pandas.HDFStore.keys     pandas.HDFStore.groups     pandas.HDFStore.walk     pandas.read_feather     pandas.DataFrame.to_feather     pandas.read_parquet     pandas.DataFrame.to_parquet     pandas.read_orc     pandas.DataFrame.to_orc     pandas.read_sas     pandas.read_spss     pandas.read_sql_table     pandas.read_sql_query     pandas.read_sql     pandas.DataFrame.to_sql     pandas.read_gbq     pandas.read_stata     pandas.DataFrame.to_stata     pandas.io.stata.StataReader.data_label     pandas.io.stata.StataReader.value_labels     pandas.io.stata.StataReader.variable_labels     pandas.io.stata.StataWriter.write_file'''  [x.strip() for x in input_output.splitlines()]<\/code><\/pre>\n<p>&#8230; \u0438 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u044d\u0442\u043e \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0433\u0440\u0443\u043f\u043f. <\/p>\n<blockquote>\n<p>\u041a\u0430\u043a \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0430\u0440\u0441\u0435\u0440 \u0441\u0430\u0439\u0442\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 <code>pandas<\/code>, \u043d\u043e \u044d\u0442\u043e \u0437\u0430\u043d\u044f\u043b\u043e \u0431\u044b \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438&#8230; \u041d\u043e \u043f\u0430\u0440\u0441\u0435\u0440 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u043b\u0441\u044f \u0431\u044b, \u0435\u0441\u043b\u0438 \u0431\u044b \u043c\u044b \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u0432\u0441\u0435\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 pandas.<\/p>\n<\/blockquote>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u044c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043a\u043b\u044e\u0447\u0430\u043c\u0438 <code>groups_keys<\/code> \u0431\u0443\u0434\u0443\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 <code>groups_items<\/code> &#8212; \u0441\u043f\u0438\u0441\u043a\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432.<\/p>\n<p>\u0412 <code>groups_str_items<\/code> \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u043d\u0430\u0448\u0438\u0445 \u0441\u0442\u0440\u043e\u043a, \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043c\u0435\u0442\u043e\u0434\u044b \u0442\u043e\u0439 \u0438\u043b\u0438 \u0438\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b, \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043f\u0438\u0441\u043a\u043e\u0432 <code>groups_items <\/code>\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <code>zip<\/code> \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043b\u044e\u0447 \u0441 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u0441\u043f\u0438\u0441\u043a\u043e\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u044c <code>groups_dict<\/code>:<\/p>\n<pre><code class=\"python\">groups_keys = [x.strip() for x in groups.splitlines()]  groups_str_items = [input_output, general_functions, series, dataframe,                      arrays_scalars_data_types, index_objects, date_ofsets,                      window, groupby, resampling, style, plotting,                      options_settings, extensions, testing,]  groups_items = [] for item in groups_str_items:     group_item = []     for x in item.splitlines():         group_item.append(x.strip())     groups_items.append(group_item)  groups_dict = {key: value for key, value in zip(groups_keys, groups_items)}<\/code><\/pre>\n<p>\u041e\u0442\u043b\u0438\u0447\u043d\u043e, \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0439 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 <code>pandas<\/code>. \u0423 \u043d\u0430\u0441 \u0431\u0443\u0434\u0443\u0442 2 \u0441\u0442\u043e\u043b\u0431\u0446\u0430: <code>'group'<\/code> &#8212; \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 <code>'method'<\/code> &#8212; \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0441\u0430\u043c \u043c\u0435\u0442\u043e\u0434 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 (\u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430).<\/p>\n<p>\u041c\u0435\u0442\u043e\u0434\u043e\u043c <code>concat<\/code> \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u043e\u0432 \u0432 \u043e\u0434\u0438\u043d (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 &#8212; \u043f\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u043e), <code>ignore_index=True<\/code> \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043d\u043e\u0432\u043e, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b \u0441\u043a\u0432\u043e\u0437\u043d\u043e\u0439 \u0438\u043d\u0434\u0435\u043a\u0441:<\/p>\n<pre><code class=\"python\">prime_df = pd.DataFrame(columns=['group', 'method']) for key, item_list in groups_dict.items():     df = pd.DataFrame()     df['method'] = item_list     df['group'] = key     prime_df = pd.concat([prime_df, df], ignore_index=True)  print(prime_df)<\/code><\/pre>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/120\/040\/27e\/12004027ec88d52a8c3417d692ea902b.jpg\" alt=\"2085 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438 \u043c\u044b \u0432 pandas \u0432\u0435\u0440\u0441\u0438\u0438 2.1.4. \u041e\u0434\u043d\u0430\u043a\u043e!\" title=\"2085 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438 \u043c\u044b \u0432 pandas \u0432\u0435\u0440\u0441\u0438\u0438 2.1.4. \u041e\u0434\u043d\u0430\u043a\u043e!\" width=\"362\" height=\"388\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/120\/040\/27e\/12004027ec88d52a8c3417d692ea902b.jpg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>2085 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438 \u043c\u044b \u0432 pandas \u0432\u0435\u0440\u0441\u0438\u0438 2.1.4. \u041e\u0434\u043d\u0430\u043a\u043e!<\/figcaption><\/div>\n<\/figure>\n<p>\u0418\u0442\u0430\u043a, pandas \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 2.1.4 \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 2085 \u043c\u0435\u0442\u043e\u0434\u043e\u0432! \u0412\u044b\u0432\u0435\u0434\u0435\u043c \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u043f\u043e \u0433\u0440\u0443\u043f\u043f\u0430\u043c \u043c\u0435\u0442\u043e\u0434\u043e\u0432. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u043a \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0443 \u0432\u0441\u0435\u0433\u043e \u0442\u0440\u0438 \u043c\u0435\u0442\u043e\u0434\u0430 <code>pandas<\/code>:<\/p>\n<ul>\n<li>\n<p><code>groupby()<\/code> \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0441\u0442\u043e\u043b\u0431\u0446\u0430, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0434\u0435\u043b\u0430\u0435\u043c \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0443 &#8212; \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0433\u0440\u0443\u043f\u043f\u044b \u043c\u0435\u0442\u043e\u0434\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p><code>agg()<\/code> &#8212; \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b, \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c <code>'count'<\/code> &#8212; \u043f\u043e\u0434\u0441\u0447\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430;<\/p>\n<\/li>\n<li>\n<p><code>sort_values()<\/code> &#8212; \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0434\u0430\u043d\u043d\u044b\u043c \u0441\u0442\u043e\u043b\u0431\u0446\u0430 (\u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 <code>'method'<\/code>, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435), \u043f\u043e \u0443\u0431\u044b\u0432\u0430\u043d\u0438\u044e <code>ascending=False:<\/code><\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"python\">first_grouped_df = prime_df.groupby('group').agg('count').sort_values('method',ascending=False) first_grouped_df<\/code><\/pre>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/22d\/01f\/8c1\/22d01f8c19170830baa3737bb8e071cd.jpg\" alt=\"\u0421\u0430\u043c\u0430\u044f \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 662 \u043c\u0435\u0442\u043e\u0434\u0430, \u0441\u0430\u043c\u0430\u044f \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0430\u044f - 6.\" title=\"\u0421\u0430\u043c\u0430\u044f \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 662 \u043c\u0435\u0442\u043e\u0434\u0430, \u0441\u0430\u043c\u0430\u044f \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0430\u044f - 6.\" width=\"280\" height=\"512\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/22d\/01f\/8c1\/22d01f8c19170830baa3737bb8e071cd.jpg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>\u0421\u0430\u043c\u0430\u044f \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 662 \u043c\u0435\u0442\u043e\u0434\u0430, \u0441\u0430\u043c\u0430\u044f \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0430\u044f &#8212; 6.<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 .csv, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0432 Excel \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u044b\u043c\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u0438 \u0434\u0430\u0436\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0432 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0412\u044b\u0433\u0440\u0443\u0437\u0438\u043c \u0431\u0435\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432, \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0435\u043c \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u044f\u0442\u0430\u044f. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0430\u043f\u043a\u0443 Data \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435.<\/p>\n<pre><code class=\"python\"># \u0412 Data\/.csv , \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e ',' prime_df.to_csv('Data\/prime_df.csv',                  index=False) first_grouped_df.to_csv('Data\/first_grouped_df.csv',                 index=True) <\/code><\/pre>\n<p>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c: <a href=\"https:\/\/cloud.mail.ru\/public\/nD9E\/uTZrdJ7ac\" rel=\"noopener noreferrer nofollow\">prime_df.csv<\/a>,  <a href=\"https:\/\/cloud.mail.ru\/public\/r6pJ\/uVHV59dEs\" rel=\"noopener noreferrer nofollow\">first_grouped_df.csv<\/a><\/p>\n<h3>\u0412\u0442\u043e\u0440\u043e\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432<\/h3>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u0438\u043c \u043d\u0430\u0448\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e: \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u043d\u043e\u0433\u0438\u0445 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0433\u0440\u0443\u043f\u043f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0441\u044f \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u043e\u043c\u0435\u043b\u044c\u0447\u0435! \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u0430\u0441\u043a\u0440\u044b\u0432 \u0433\u0440\u0443\u043f\u043f\u0443 <code>Input\/output<\/code>, \u043c\u044b \u0441\u043f\u0440\u0430\u0432\u0430 \u0443\u0432\u0438\u0434\u0438\u043c \u0435\u0449\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/c06\/b5b\/300\/c06b5b3008cef3e9329fe8b87e9c0bd3.jpg\" alt=\"\u0414\u0430 \u0442\u0443\u0442 \u044d\u0442\u0438\u0445 \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043b\u0435\u0436\u0438 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e!\" title=\"\u0414\u0430 \u0442\u0443\u0442 \u044d\u0442\u0438\u0445 \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043b\u0435\u0436\u0438 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e!\" width=\"1154\" height=\"540\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c06\/b5b\/300\/c06b5b3008cef3e9329fe8b87e9c0bd3.jpg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>\u0414\u0430 \u0442\u0443\u0442 \u044d\u0442\u0438\u0445 \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043b\u0435\u0436\u0438 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e!<\/figcaption><\/div>\n<\/figure>\n<details class=\"spoiler\">\n<summary>\u0417\u0430\u043d\u0435\u0441\u0435\u043c \u0438\u0445 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e input_output_2 (\u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0431\u0443\u0434\u0435\u043c \u0438\u043c\u0435\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0441 \u044d\u0442\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c):<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">input_output_2 = \"\"\"Pickling Flat file Clipboard Excel JSON HTML XML Latex HDFStore: PyTables (HDF5) Feather Parquet ORC SAS SPSS SQL Google BigQuery STATA\"\"\"  input_output_2 = [x.strip() for x in input_output_2.splitlines()]<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0418 \u0442\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0441 \u043a\u0430\u0436\u0434\u043e\u0439 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u043e\u0439.<\/p>\n<p>\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a, \u0433\u0434\u0435 \u0435\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 &#171;\u0431\u043e\u043b\u044c\u0448\u043e\u0439&#187; \u0433\u0440\u0443\u043f\u043f\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043c\u0435\u0442\u043e\u0434 \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u044b \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f. <\/p>\n<details class=\"spoiler\">\n<summary>\u0422\u0430\u043a, \u0434\u043b\u044f input_output \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442:<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">input_output_2_methods = \"\"\"read_pickle DataFrame.to_pickle read_fwf DataFrame.to_clipboard ExcelWriter build_table_schema Styler.to_html DataFrame.to_xml Styler.to_latex HDFStore.walk DataFrame.to_feather DataFrame.to_parquet DataFrame.to_orc read_sas read_spss DataFrame.to_sql read_gbq StataWriter.write_file\"\"\"  input_output_2_methods = [x.strip() for x in input_output_2_methods.splitlines()]<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u041f\u0440\u043e\u0434\u0435\u043b\u0430\u0435\u043c \u044d\u0442\u0443 \u043a\u043e\u043f\u0438\u043f\u0435\u0439\u0441\u0442-\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u0430\u043c\u0438. (<em>\u0414\u0430, \u043a\u0430\u043a \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0430\u0440\u0441\u0435\u0440 \u0441\u0430\u0439\u0442\u0430 &#8212; \u043d\u043e \u044d\u0442\u043e \u0437\u0430\u043d\u044f\u043b\u043e \u0431\u044b \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438&#8230;<\/em>) <\/p>\n<p>\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u043c\u0430\u043b\u044b\u0445 \u0433\u0440\u0443\u043f\u043f\u0430\u0445 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u044c, \u0433\u0434\u0435 \u043a\u043b\u044e\u0447 &#8212; \u0433\u0440\u0443\u043f\u043f\u0430, \u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 &#8212; \u043a\u043e\u0440\u0442\u0435\u0436 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u043c\u0430\u043b\u044b\u0445 \u0433\u0440\u0443\u043f\u043f \u0438 \u0441\u043f\u0438\u0441\u043a\u0430 \u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432.<\/p>\n<details class=\"spoiler\">\n<summary>\u0412\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u0441\u043b\u043e\u0432\u0430\u0440\u044c:<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">groups_to_small_groups = {  'Input\/output': (input_output_2, input_output_2_methods),                             'General functions': (general_functions_2, general_functions_2_methods),                             'Series': (series_2, series_2_methods),                             'DataFrame': (dataframe_2, dataframe_2_methods),                             'pandas arrays, scalars, and data types': (arrays_scalars_data_types_2, arrays_scalars_data_types_2_methods),                             'Index objects': (index_objects_2, index_objects_2_methods),                             'Date offsets': (date_ofsets_2, date_ofsets_2_methods),                             'Window': (window_2, window_2_methods),                             'GroupBy': (groupby_2, groupby_2_methods),                             'Resampling': (resampling_2, resampling_2_methods),                             'Style': (style_2, style_2_methods),                             'Plotting': (plotting_2, plotting_2_methods),                             'Options and settings': (options_settings_2, options_settings_2_methods),                             'Extensions': (extensions_2, extensions_2_methods),                             'Testing': (testing_2, testing_2_methods),                           }<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u0431\u0430\u0432\u0438\u0442 \u0432 \u043d\u0430\u0448 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0441\u0442\u043e\u043b\u0431\u0435\u0446 small_group, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u0442\u043e\u0434 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f. \u041e\u043d \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430, \u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u0435\u043c\u0443 \u043c\u0430\u043b\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u0438\u0437 \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u043b\u043e\u0432\u0430\u0440\u044f groups_to_small_groups (\u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u043c\u0430\u0441\u0441\u0443 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0435\u0439, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043a\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a):<\/p>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 \u043c\u0430\u043b\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b:<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">prime_df['small_group'] = None   # \u0417\u0430\u0432\u0435\u0434\u0435\u043c \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0434\u043b\u044f \u043c\u0430\u043b\u044b\u0445 \u0433\u0440\u0443\u043f\u043f  counter = 0   # \u042d\u0442\u043e \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043c\u0430\u043b\u044b\u0445 \u0433\u0440\u0443\u043f\u043f \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043f\u0438\u0441\u043a\u0430 \u043c\u0430\u043b\u044b\u0445 \u0433\u0440\u0443\u043f\u043f methods_counter = 0    # \u042d\u0442\u043e \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043f\u0438\u0441\u043a\u0430 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 prev_group = None      # \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 small_group_now = None  # \u041c\u0430\u043b\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 small_groups_method_now_2 = None   # \u0413\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 is_same = False  # \u0412\u0442\u043e\u0440\u043e\u0439 \u043c\u0435\u0442\u043e\u0434 \u0441\u043f\u0438\u0441\u043a\u0430 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435, \u043a\u0430\u043a \u0438 \u043f\u0435\u0440\u0432\u044b\u0439  for i, row in prime_df.iterrows():   # \u041f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0435\u043c \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443 \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430     small_groups_group = groups_to_small_groups[row.group][0]   # \u0421\u043f\u0438\u0441\u043e\u043a \u043c\u0430\u043b\u044b\u0445 \u0433\u0440\u0443\u043f\u043f \u0434\u0430\u043d\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b     small_groups_method = groups_to_small_groups[row.group][1]  # \u0413\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0434\u0430\u043d\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b      if row.group != prev_group:  # \u0413\u0440\u0443\u043f\u043f\u0430 \u0441\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c?         counter = 0              # \u0417\u043d\u0430\u0447\u0438\u0442, \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043c\u0430\u043b\u044b\u0445 \u0433\u0440\u0443\u043f\u043f \u043d\u0430 \u043d\u043e\u043b\u044c         methods_counter = 0      # \u0418 \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043d\u0430 \u043d\u043e\u043b\u044c      pure_method = row.method.split('.')[-1]  # \u041a\u0440\u0430\u0439\u043d\u0438\u0439 \u0441\u043b\u0435\u0432\u0430 \u043c\u0435\u0442\u043e\u0434     pure_method_2 = f\"{row.method.split('.')[-2]}.{row.method.split('.')[-1]}\"    # 2 \u043a\u0440\u0430\u0439\u043d\u0438\u0445 \u0441\u043b\u0435\u0432\u0430 \u043c\u0435\u0442\u043e\u0434\u0430 \u0432 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0435      small_groups_method_now = small_groups_method[methods_counter].split('.')[-1]  # \u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u0430\u043b\u044b\u0439 \u043c\u0435\u0442\u043e\u0434     small_groups_method_len = len(small_groups_method[methods_counter].split('.')) # \u0414\u043b\u0438\u043d\u0430 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u0432lit('.'))     if small_groups_method_len > 1:  # \u0415\u0441\u043b\u0438 \u043c\u043e\u0436\u0435\u043c \u0437\u0430\u0445\u0432\u0430\u0442\u0438\u0442\u044c 2 \u043a\u0440\u0430\u0439\u043d\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u0430 \u043c\u0435\u0442\u043e\u0434\u0430 - \u0437\u0430\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u043c!         small_groups_method_now_2 = f\"{small_groups_method[methods_counter].split('.')[-2]}.{small_groups_method[methods_counter].split('.')[-1]}\"       # \u0421\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u043c\u0435\u0442\u043e\u0434? - \u0437\u043d\u0430\u0447\u0438\u0442 \u043c\u044b \u043f\u043e\u0439\u043c\u0430\u043b\u0438 \u043a\u043e\u043d\u0435\u0446 \u043c\u0430\u043b\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b!     if small_groups_method_len > 1 and pure_method_2 == small_groups_method_now_2:  # \u0423 2 \u043a\u0440\u0430\u0439\u043d\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432         is_same = True     elif small_groups_method_len == 1 and pure_method == small_groups_method_now:  # \u0418\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u0443 \u043e\u0434\u043d\u043e\u0433\u043e         is_same = True     else:         is_same = False          if is_same:         if methods_counter == 0:  # \u042d\u0442\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043c\u0435\u0442\u043e\u0434?             small_group_now = small_groups_group[counter]   # \u0422\u0435\u043a\u0443\u0449\u0430\u044f \u043c\u0430\u043b\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430             row['small_group'] = small_group_now  # \u0417\u0430\u043f\u0438\u0448\u0435\u043c \u0432 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c                          # \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0434\u0443\u0431\u043b\u044c: \u0435\u0441\u043b\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435:             if len(small_groups_group) > 1:  # \u0412 \u0441\u043f\u0438\u0441\u043a\u0435 \u0435\u0441\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043c\u0430\u043b\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430                 if small_groups_method_len > 1:  # \u0415\u0441\u043b\u0438 \u043c\u043e\u0436\u0435\u043c \u0437\u0430\u0445\u0432\u0430\u0442\u0438\u0442\u044c \u043c\u0435\u0442\u043e\u0434 \u0441 \u043a\u043b\u0430\u0441\u0441\u043e\u043c - \u0437\u0430\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u043c!                     if len(small_groups_method[methods_counter+1].split('.')) > 1: # \u0414\u043b\u0438\u043d\u0430 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u0432                          sgm_next_2 = f\"{small_groups_method[methods_counter + 1].split('.')[-2]}.{small_groups_method[methods_counter + 1].split('.')[-1]}\"  # \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0441 \u043a\u043b\u0430\u0441\u0441\u043e\u043c                                      if small_groups_method_len > 1 and sgm_next_2 == small_groups_method_now_2:                     is_double = True   # \u0417\u0430\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u0435\u0442 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0438\u0439                 elif small_groups_method_len == 1 and small_groups_method[methods_counter + 1].split('.')[-1] == small_groups_method_now:                      is_same = True                 else:                     is_same = False                 if is_same:                     counter += 1  # \u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043c\u0430\u043b\u044b\u0445 \u0433\u0440\u0443\u043f\u043f                     methods_counter += 1   # \u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 - \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0434\u0443\u0431\u043b\u044c                     small_group_now = small_groups_group[counter]   # \u041c\u0430\u043b\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u0441\u0435\u0439\u0447\u0430\u0441              methods_counter += 1   # \u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432         else:   # \u042d\u0442\u043e \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043c\u0435\u0442\u043e\u0434 - \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043c\u0430\u043b\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443             row['small_group'] = small_group_now   # \u0417\u0430\u043f\u0438\u0448\u0435\u043c \u0432 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c             counter += 1  # \u0423\u0432\u0435\u043b\u0438\u0447\u0438\u043c \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043c\u0430\u043b\u044b\u0445 \u0433\u0440\u0443\u043f\u043f             if len(small_groups_group) == counter:   # \u041c\u044b \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0438 \u043a\u043e\u043d\u0446\u0430 \u0441\u043f\u0438\u0441\u043a\u0430 \u043c\u0430\u043b\u044b\u0445 \u0433\u0440\u0443\u043f\u043f?                 continue             small_group_now = small_groups_group[counter]    # \u041c\u0430\u043b\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u0441\u0435\u0439\u0447\u0430\u0441              methods_counter += 1   # \u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432     else:         row['small_group'] = small_group_now   # \u0417\u0430\u043f\u0438\u0448\u0435\u043c \u0432 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c      prev_group = row.group   # \u0417\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0423\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u043c \u0433\u0440\u0443\u043f\u043f\u044b (\u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430, \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u0430 \u0438 \u043c\u0435\u0442\u043e\u0434) \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c:<\/p>\n<pre><code class=\"python\">prime_df = prime_df[['group', 'small_group', 'method']] prime_df<\/code><\/pre>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/7b2\/1e7\/a1c\/7b21e7a1c8e9e0c8efeacb65e745effd.jpg\" alt=\"\u0422\u0435 \u0436\u0435 2085 \u0441\u0442\u0440\u043e\u043a, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0449\u0435 \u0438 \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u043c\u0430\u043b\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u0434\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f...\" title=\"\u0422\u0435 \u0436\u0435 2085 \u0441\u0442\u0440\u043e\u043a, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0449\u0435 \u0438 \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u043c\u0430\u043b\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u0434\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f...\" width=\"516\" height=\"394\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7b2\/1e7\/a1c\/7b21e7a1c8e9e0c8efeacb65e745effd.jpg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>\u0422\u0435 \u0436\u0435 2085 \u0441\u0442\u0440\u043e\u043a, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0449\u0435 \u0438 \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u043c\u0430\u043b\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u0434\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f&#8230;<\/figcaption><\/div>\n<\/figure>\n<p>\u041c\u0435\u0442\u043e\u0434 <code>info()<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u0445, \u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432\u0430\u0436\u043d\u043e &#8212; \u043d\u0435\u0442 \u043b\u0438 \u0442\u0430\u043c \u043d\u0443\u043b\u0435\u0432\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439? \u0423 \u043d\u0430\u0441 \u043d\u0435\u0442. \u0422\u0438\u043f <code>object<\/code> &#8212; \u044d\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0439 \u0442\u0438\u043f \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435.<\/p>\n<pre><code class=\"python\">prime_df.info()<\/code><\/pre>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/5ac\/d3a\/9e8\/5acd3a9e86714f67bb3175db4a98506c.jpg\" alt=\"\u041e\u043a, \u0432\u0441\u0435 2085 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u0442\u043e\u043b\u0431\u0446\u0435 \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u044b\u0435\" title=\"\u041e\u043a, \u0432\u0441\u0435 2085 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u0442\u043e\u043b\u0431\u0446\u0435 \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u044b\u0435\" width=\"342\" height=\"190\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5ac\/d3a\/9e8\/5acd3a9e86714f67bb3175db4a98506c.jpg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>\u041e\u043a, \u0432\u0441\u0435 2085 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u0442\u043e\u043b\u0431\u0446\u0435 \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u044b\u0435<\/figcaption><\/div>\n<\/figure>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u043c \u0432 \u0444\u0430\u0439\u043b <a href=\"https:\/\/cloud.mail.ru\/public\/QCFv\/boDqFfW6d\" rel=\"noopener noreferrer nofollow\">prime_small_groups_df.csv<\/a><\/p>\n<p>\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0438 \u043c\u0430\u043b\u044b\u043c \u0433\u0440\u0443\u043f\u043f\u0430\u043c:<\/p>\n<pre><code class=\"python\">stat = prime_df.groupby(['group', 'small_group']).agg({'method': 'count'}).reset_index() stat<\/code><\/pre>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/b13\/23f\/de9\/b1323fde967bbba4f7d3e815c5d8a83e.jpg\" alt=\"\u041e\u0442\u043b\u0438\u0447\u043d\u043e, \u0443 \u043d\u0430\u0441 \u0442\u0435\u043f\u0435\u0440\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u0438 \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u043c\u0430\u043b\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 256!\" title=\"\u041e\u0442\u043b\u0438\u0447\u043d\u043e, \u0443 \u043d\u0430\u0441 \u0442\u0435\u043f\u0435\u0440\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u0438 \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u043c\u0430\u043b\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 256!\" width=\"640\" height=\"440\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b13\/23f\/de9\/b1323fde967bbba4f7d3e815c5d8a83e.jpg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>\u041e\u0442\u043b\u0438\u0447\u043d\u043e, \u0443 \u043d\u0430\u0441 \u0442\u0435\u043f\u0435\u0440\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u0438 \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u043c\u0430\u043b\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 256!<\/figcaption><\/div>\n<\/figure>\n<p>\u041e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u043f\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0443 \u043c\u0430\u043b\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b (<code>ignore_index=True<\/code> \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0438\u043d\u0434\u0435\u043a\u0441\u044b, \u0442.\u0435. \u043e\u0442\u043d\u0443\u043c\u0435\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u043e\u0442 0):<\/p>\n<pre><code class=\"python\">stat_sort = stat.sort_values('method',ascending=False, ignore_index=True) stat_sort<\/code><\/pre>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/f95\/dba\/826\/f95dba82672c33fcfb53efb9f21fe66a.jpg\" alt=\"\u041c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u0430\u043b\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \/ \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 40-56 \u043c\u0435\u0442\u043e\u0434\u043e\u0432! \u041d\u043e \u043c\u0430\u0441\u0441\u0430 \u0433\u0440\u0443\u043f\u043f, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u043c\u0435\u0442\u043e\u0434\u0443...\" title=\"\u041c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u0430\u043b\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \/ \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 40-56 \u043c\u0435\u0442\u043e\u0434\u043e\u0432! \u041d\u043e \u043c\u0430\u0441\u0441\u0430 \u0433\u0440\u0443\u043f\u043f, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u043c\u0435\u0442\u043e\u0434\u0443...\" width=\"686\" height=\"450\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f95\/dba\/826\/f95dba82672c33fcfb53efb9f21fe66a.jpg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>\u041c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u0430\u043b\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \/ \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 40-56 \u043c\u0435\u0442\u043e\u0434\u043e\u0432! \u041d\u043e \u043c\u0430\u0441\u0441\u0430 \u0433\u0440\u0443\u043f\u043f, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u043c\u0435\u0442\u043e\u0434\u0443&#8230;<\/figcaption><\/div>\n<\/figure>\n<p>\u0412\u044b\u043b\u043e\u0436\u0438\u043c \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043f\u0430\u043f\u043a\u0443, \u0444\u0430\u0439\u043b \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c:<a href=\"https:\/\/cloud.mail.ru\/public\/KTv5\/t2fHvYGBH\" rel=\"noopener noreferrer nofollow\"> stat_sort.csv<\/a><\/p>\n<pre><code class=\"python\">stat_sort.to_csv('Data\/stat_sort.csv',                  index=False)<\/code><\/pre>\n<h2>\u041a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 __doc__ \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0430\u043d\u0434\u0435\u0440-\u043c\u0435\u0442\u043e\u0434\u043e\u0432<\/h2>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0435\u0440\u0432\u044b\u0439 \u0436\u0435 \u043c\u0435\u0442\u043e\u0434 \u0432 \u043d\u0430\u0448\u0435\u043c \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0435 &#8212; <code>read_pickle<\/code><\/p>\n<p>\u041e\u043d \u0443 \u043d\u0430\u0441 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0441\u0442\u0440\u043e\u043a\u0438. \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043c\u0435\u0442\u043e\u0434 \u0438\u0437 \u0435\u0433\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f, \u0432\u044b\u0437\u043e\u0432\u0435\u043c \u0447\u0435\u0440\u0435\u0437 <code>getattr<\/code>:<\/p>\n<pre><code class=\"python\">read_pickle = getattr(pd, 'read_pickle') print(read_pickle.__doc__)<\/code><\/pre>\n<details class=\"spoiler\">\n<summary>\u041f\u043e\u043b\u0443\u0447\u0438\u043c \u043e\u0447\u0435\u043d\u044c \u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438:<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>Load pickled pandas object (or any object) from file. .. warning::    Loading pickled data received from untrusted sources can be    unsafe. See `here &lt;https:\/\/docs.python.org\/3\/library\/pickle.html>`__. Parameters ---------- filepath_or_buffer : str, path object, or file-like object     String, path object (implementing ``os.PathLike[str]``), or file-like     object implementing a binary ``readlines()`` function.     .. versionchanged:: 1.0.0        Accept URL. URL is not limited to S3 and GCS. compression : str or dict, default 'infer'     For on-the-fly decompression of on-disk data. If 'infer' and 'filepath_or_buffer' is     path-like, then detect compression from the following extensions: '.gz',     '.bz2', '.zip', '.xz', '.zst', '.tar', '.tar.gz', '.tar.xz' or '.tar.bz2'     (otherwise no compression).     If using 'zip' or 'tar', the ZIP file must contain only one data file to be read in.     Set to ``None`` for no decompression.     Can also be a dict with key ``'method'`` set     to one of {``'zip'``, ``'gzip'``, ``'bz2'``, ``'zstd'``, ``'tar'``} and other     key-value pairs are forwarded to     ``zipfile.ZipFile``, ``gzip.GzipFile``,     ``bz2.BZ2File``, ``zstandard.ZstdDecompressor`` or     ``tarfile.TarFile``, respectively.     As an example, the following could be passed for Zstandard decompression using a     custom compression dictionary:     ``compression={'method': 'zstd', 'dict_data': my_compression_dict}``.         .. versionadded:: 1.5.0             Added support for `.tar` files.     .. versionchanged:: 1.4.0 Zstandard support. storage_options : dict, optional     Extra options that make sense for a particular storage connection, e.g.     host, port, username, password, etc. For HTTP(S) URLs the key-value pairs     are forwarded to ``urllib.request.Request`` as header options. For other     URLs (e.g. starting with \"s3:\/\/\", and \"gcs:\/\/\") the key-value pairs are     forwarded to ``fsspec.open``. Please see ``fsspec`` and ``urllib`` for more     details, and for more examples on storage options refer `here     &lt;https:\/\/pandas.pydata.org\/docs\/user_guide\/io.html?     highlight=storage_options#reading-writing-remote-files>`_.     .. versionadded:: 1.2.0 Returns ------- unpickled : same type as object stored in file See Also -------- DataFrame.to_pickle : Pickle (serialize) DataFrame object to file. Series.to_pickle : Pickle (serialize) Series object to file. read_hdf : Read HDF5 file into a DataFrame. read_sql : Read SQL query or database table into a DataFrame. read_parquet : Load a parquet object, returning a DataFrame. Notes ----- read_pickle is only guaranteed to be backwards compatible to pandas 0.20.3 provided the object was serialized with to_pickle. Examples -------- >>> original_df = pd.DataFrame( ...     {\"foo\": range(5), \"bar\": range(5, 10)} ...    )  # doctest: +SKIP >>> original_df  # doctest: +SKIP    foo  bar 0    0    5 1    1    6 2    2    7 3    3    8 4    4    9 >>> pd.to_pickle(original_df, \".\/dummy.pkl\")  # doctest: +SKIP >>> unpickled_df = pd.read_pickle(\".\/dummy.pkl\")  # doctest: +SKIP >>> unpickled_df  # doctest: +SKIP    foo  bar 0    0    5 1    1    6 2    2    7 3    3    8 4    4    9<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0420\u0430\u0437\u0431\u0435\u0440\u0451\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0432 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438?<\/p>\n<ul>\n<li>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 &#8212; \u044d\u0442\u043e \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u0430: Load pickled pandas object (or any object) from file.<\/p>\n<\/li>\n<li>\n<p>\u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0440\u0430\u0437\u0434\u0435\u043b\u044b \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 (\u043e\u043d\u0438 \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u043d\u0443\u0442\u044b \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438 &#171;-&#171;), \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Parameters, Returns, See Also, Notes, Examples<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u043d\u043e\u0441\u043a\u0438, \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0441 &#171;..&#187;, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, .. warning:: , .. versionchanged::<\/p>\n<\/li>\n<li>\n<p>\u0412 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 (\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430\u0445) \u043c\u0435\u0442\u043e\u0434\u0430 (Parameters) \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u0432 \u0432\u043d\u0430\u0447\u0430\u043b\u0435, \u0430 \u0435\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 &#8212; \u0441 4 \u043f\u0440\u043e\u0431\u0435\u043b\u0430\u043c\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0412 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043f\u043e\u0441\u043b\u0435 \u0434\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u0435\u0433\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0442\u0438\u043f\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: str, path object, or file-like object, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043e\u043d\u043e \u0442\u043e\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: default &#8216;infer&#8217;<\/p>\n<\/li>\n<li>\n<p>\u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e, \u0432 \u0432\u044b\u0432\u043e\u0434\u0438\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u0445: Returns<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u043c \u0432\u044b\u0436\u0430\u0442\u044c \u0438\u0437 \u0434\u0430\u043d\u0434\u0435\u0440-\u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043c\u043e\u0433\u0430\u0442\u044c \u043d\u0430\u043c \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c (\u043f\u0430\u0440\u0441\u0438\u0442\u044c) \u0441\u0440\u043e\u043a\u0443 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 (\u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u043f\u0435\u0440\u0432\u044b\u0439 \u0438\u0437 \u043d\u0438\u0445, <code>read_pickle<\/code>):<\/p>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>__annotations__<\/code> \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u044c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043a\u043b\u044e\u0447\u0430\u043c\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u043c\u0435\u0442\u043e\u0434\u0430, \u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 &#8212; \u0442\u0438\u043f\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 (\u0441\u0442\u0440\u043e\u043a\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0447\u0435\u0440\u0435\u0437 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c &#171;|&#187; \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0442\u0438\u043f\u044b):<\/p>\n<pre><code class=\"python\">read_pickle = getattr(pd, 'read_pickle') print(read_pickle.__annotations__)<\/code><\/pre>\n<pre><code>{'filepath_or_buffer': 'FilePath | ReadPickleBuffer',  'compression': 'CompressionOptions',  'storage_options': 'StorageOptions'}<\/code><\/pre>\n<p>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u043c\u0435\u0442\u043e\u0434\u0430 \u0438\u043c\u0435\u044e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0438\u0445 \u043a\u043e\u0440\u0442\u0435\u0436 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>__defaults__<\/code>:<\/p>\n<pre><code class=\"python\">read_pickle = getattr(pd, 'read_pickle') print(read_pickle.__defaults__)<\/code><\/pre>\n<pre><code>('infer', None)<\/code><\/pre>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u043c, \u044d\u0442\u043e \u0434\u0432\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432\u043d\u0430\u0447\u0430\u043b\u0435 \u0432 \u043f\u0438\u0442\u043e\u043d\u043e\u0432\u0441\u043a\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u0430\u0445 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445 \u0438\u0434\u0443\u0442 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0430 \u043f\u043e\u0442\u043e\u043c &#8212; \u0438\u043c\u0435\u044e\u0449\u0438\u0435.<\/p>\n<p>\u0415\u0449\u0435 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0443\u0442\u044c \u043a \u043c\u043e\u0434\u0443\u043b\u044e \u043c\u0435\u0442\u043e\u0434\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>__module__<\/code>:<\/p>\n<pre><code class=\"python\">read_pickle = getattr(pd, 'read_pickle') print(read_pickle.__module__)<\/code><\/pre>\n<pre><code>'pandas.io.pickle'<\/code><\/pre>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e __class__ \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0432\u0430\u0436\u043d\u0443\u044e \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0443 \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438. \u0422\u0430\u043a, \u043c\u0435\u0442\u043e\u0434\u044b \u0431\u0443\u0434\u0443\u0442 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u043a\u0430\u043a &#8216;function&#8217; &#8212; \u0432\u0435\u0434\u044c \u043c\u0435\u0442\u043e\u0434 \u044d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432 \u043a\u043b\u0430\u0441\u0441\u0435:<\/p>\n<pre><code class=\"python\">read_pickle = getattr(pd, 'read_pickle') print(read_pickle.__class__)<\/code><\/pre>\n<pre><code>function<\/code><\/pre>\n<p>\u0410 \u0432\u043e\u0442 \u043a\u043b\u0430\u0441\u0441 DataFrame \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d \u043a\u0430\u043a &#8216;type&#8217;:<\/p>\n<pre><code class=\"python\">dataframe = getattr(pd, 'DataFrame') print(dataframe.__class__)<\/code><\/pre>\n<pre><code>type<\/code><\/pre>\n<p>\u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d \u043a\u0430\u043a &#8216;property&#8217; \u0438\u043b\u0438 \u0441\u0441\u044b\u043b\u043a\u043e\u0439 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442:<\/p>\n<pre><code class=\"python\">series_values = getattr(pd.Series, \"values\") print(series_values.__class__)<\/code><\/pre>\n<pre><code>property<\/code><\/pre>\n<pre><code class=\"python\">series_index = getattr(pd.Series, \"index\") print(series_index.__class__)<\/code><\/pre>\n<pre><code>pandas._libs.properties.AxisProperty<\/code><\/pre>\n<p>\u0412\u0441\u0435 \u044d\u0442\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u0440\u0438\u0433\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0430\u043c \u0432 \u043d\u0430\u0448\u0435\u043c \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0435 &#8212; \u0441\u0432\u043e\u0435\u043e\u0431\u0440\u0430\u0437\u043d\u043e\u0439 &#171;\u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445&#187; \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 <code>pandas.<\/code> \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u043d\u0430\u0448 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c \u0435\u0449\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432:<\/p>\n<ul>\n<li>\n<p><strong>name<\/strong> &#8212; \u0438\u043c\u044f \u043c\u0435\u0442\u043e\u0434\u0430 (\u0431\u0435\u0437 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432)<\/p>\n<\/li>\n<li>\n<p><strong>type<\/strong> &#8212; \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u044d\u0442\u043e \u043c\u0435\u0442\u043e\u0434 (function), \u043a\u043b\u0430\u0441\u0441 (type) \u0438\u043b\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e (property)<\/p>\n<\/li>\n<li>\n<p><strong>module<\/strong> &#8212; \u043f\u0443\u0442\u044c \u043a \u043c\u043e\u0434\u0443\u043b\u044e \u043c\u0435\u0442\u043e\u0434\u0430<\/p>\n<\/li>\n<li>\n<p><strong>doc<\/strong> &#8212; \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 (\u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c\u0430\u044f \u0447\u0435\u0440\u0435\u0437 <code>__doc__<\/code>)<\/p>\n<\/li>\n<li>\n<p><strong>about<\/strong> &#8212; \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 (\u043f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438)<\/p>\n<\/li>\n<li>\n<p><strong>parameters<\/strong> &#8212; \u0441\u043f\u0438\u0441\u043e\u043a \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \/ \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u043c\u0435\u0442\u043e\u0434\u043e\u0432<\/p>\n<\/li>\n<li>\n<p><strong>annotations<\/strong> &#8212; \u0441\u043b\u043e\u0432\u0430\u0440\u044c {\u0430\u0442\u0440\u0438\u0431\u0443\u0442: \u0441\u0442\u0440\u043e\u043a\u0430 \u0442\u0438\u043f\u043e\u0432}<\/p>\n<\/li>\n<li>\n<p><strong>defaults<\/strong> &#8212; \u0441\u043b\u043e\u0432\u0430\u0440\u044c {\u0430\u0442\u0440\u0438\u0431\u0443\u0442: \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e}<\/p>\n<\/li>\n<\/ul>\n<details class=\"spoiler\">\n<summary>\u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u0431\u0430\u0432\u0438\u0442 \u0432 \u043d\u0430\u0448 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c \u043d\u043e\u0432\u044b\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u044b:<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">def get_next_attr(class_, attr: str):     \"\"\"\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043c\u0435\u0442\u043e\u0434 \u043a\u043b\u0430\u0441\u0441\u0430 \u0438\u043b\u0438 None, \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u043d\u0435\u0442\"\"\"      try:         return getattr(class_, attr)     except:         return None   def parse_type(type_str:str) -> str:     \"\"\"\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u0430\/\u0444\u0443\u043d\u043a\u0446\u0438\u0438\/\u043a\u043b\u0430\u0441\u0441\u0430, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0447\u0438\u0449\u0435\u043d\u043d\u044b\u043c\"\"\"      return type_str.replace(\"&lt;class '\", '').replace(\"'>\", '')   prime_df['name'] = None   # \u0438\u043c\u044f \u043c\u0435\u0442\u043e\u0434\u0430 \/ \u043a\u043b\u0430\u0441\u0441\u0430 \/ \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 prime_df['type'] = None   # \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u044d\u0442\u043e \u043c\u0435\u0442\u043e\u0434 (function), \u043a\u043b\u0430\u0441\u0441 (type) \u0438\u043b\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e (property) prime_df['module'] = None   # \u043f\u0443\u0442\u044c \u043a \u043c\u043e\u0434\u0443\u043b\u044e \u043c\u0435\u0442\u043e\u0434\u0430 prime_df['doc'] = None   # \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 prime_df['about'] = None   # \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 (\u043f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438) prime_df['parameters'] = None   # \u0441\u043f\u0438\u0441\u043e\u043a \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \/ \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u043c\u0435\u0442\u043e\u0434\u0432 prime_df['annotations'] = None   #  \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442: \u0441\u0442\u0440\u043e\u043a\u0430 \u0442\u0438\u043f\u043e\u0432 prime_df['defaults'] = None   # \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442: \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e  for i, row in prime_df.iterrows():     len_name = row['method'].split('.')     method_name = row['method'].split('.')[-1]     prev_class = row['method'].split('.')[-2]     middle = row['method'].split('.')[1:-1]     method_path = row['method'].split('.')[1:]      metod_object = pd     for j, item in enumerate(row['method'].split('.')):         metod_object = get_next_attr(metod_object, item)         if metod_object is None:             break          row['name'] = method_name          if metod_object is not None:         try:             row['type'] = f\"{parse_type(str(metod_object.__class__))}\"         except AttributeError:             pass          try:             row['module'] = metod_object.__module__         except AttributeError:             pass          try:             if metod_object.__doc__.startswith('\\n'):                 row['doc'] = metod_object.__doc__[1:]             else:                 row['doc'] = metod_object.__doc__         except AttributeError:             pass          try:             if len(metod_object.__doc__.split('\\n')) > 1 \\                     and not metod_object.__doc__.split('\\n')[0]:                 row['about'] = metod_object.__doc__.split('\\n')[1]  #splitlines()[0]         except AttributeError:             pass          try:             row['parameters'] = metod_object.__annotations__.keys()         except AttributeError:             pass              try:             row['annotations'] = metod_object.__annotations__         except AttributeError:             pass                  try:             if metod_object.__annotations__:                 len_annotations = len(metod_object.__annotations__.keys())             else:                 len_annotations = None              if metod_object.__defaults__:                 len_defaults = len(metod_object.__defaults__)             else:                 len_defaults = 0              if len_annotations is not None and len_defaults:                 n_skip = len_annotations - len_defaults                 row['defaults'] = dict(zip(list(metod_object.__annotations__.keys())[n_skip:], metod_object.__defaults__))         except AttributeError:             pass <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c (<a href=\"https:\/\/cloud.mail.ru\/public\/NnKL\/AyuqybzmY\" rel=\"noopener noreferrer nofollow\">\u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b \u0432 csv<\/a>):<\/p>\n<pre><code class=\"python\">prime_df.info()<\/code><\/pre>\n<pre><code>&lt;class 'pandas.core.frame.DataFrame'> RangeIndex: 2085 entries, 0 to 2084 Data columns (total 11 columns):  #   Column       Non-Null Count  Dtype  ---  ------       --------------  -----   0   group        2085 non-null   object  1   small_group  2085 non-null   object  2   method       2085 non-null   object  3   name         2085 non-null   object  4   type         1992 non-null   object  5   module       1060 non-null   object  6   doc          1693 non-null   object  7   about        1675 non-null   object  8   parameters   947 non-null    object  9   annotations  947 non-null    object  10  defaults     421 non-null    object dtypes: object(11) memory usage: 179.3+ KB<\/code><\/pre>\n<p>\u0418\u0442\u0430\u043a, \u0443 \u043d\u0430\u0441 \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 2085 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u043d\u043e \u0432\u043e\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043c\u0435\u0442\u043e\u0434 (\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0435\u0433\u043e \u0442\u0438\u043f &#8212; \u043a\u043b\u0430\u0441\u0441, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u043b\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442), \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044f &#171;\u0432 \u043b\u043e\u0431&#187;<code>getattr()<\/code> \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e 1992 \u0440\u0430\u0437\u0430. \u041c\u0435\u0442\u043e\u0434\u044b \u0432\u0440\u043e\u0434\u0435 <code>pandas.io.formats.style.Styler.to_excel<\/code> \u0438\u043b\u0438 <code>pandas.arrays.NumpyExtensionArray<\/code> \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c &#171;\u043a\u0440\u0435\u043f\u043a\u0438\u043c\u0438 \u043e\u0440\u0435\u0448\u043a\u0430\u043c\u0438&#187;.<\/p>\n<blockquote>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u0443\u0434\u0430\u0441\u0442\u0441\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0432\u044b\u0437\u0432\u0430\u0442\u044c __class__ \u0438 __doc__ \u0443 <a href=\"https:\/\/cloud.mail.ru\/public\/mftK\/72MUA4LA1\" rel=\"noopener noreferrer nofollow\">\u0441\u043f\u0438\u0441\u043a\u0430 \u0438\u0437 93 \u043d\u0435\u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432<\/a>, \u043d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445. \u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0438\u0441\u0442\u0438\u043d\u0443 <code>python_senior_code<\/code> !<\/p>\n<\/blockquote>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0435\u0441\u0442\u044c \u0443 1675 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u044f 93 \u043d\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0445, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438. \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b (\u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b) \u0435\u0441\u0442\u044c \u0443 947 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.<\/p>\n<p>\u0418, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442: <code>info()<\/code> \u0432\u044b\u0434\u0430\u0435\u0442 \u043d\u0430\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430 &#8212; <code>memory usage: 179.3+ KB.<\/code> \u041d\u0435 \u043c\u0430\u043b\u043e\u0432\u0430\u0442\u043e \u043b\u0438 &#8212; \u0432\u0435\u0434\u044c csv-\u0444\u0430\u0439\u043b \u0432\u0435\u0441\u0438\u0442 2,8 \u041c\u0431?<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u0443\u044e \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u043e\u043c \u043f\u0430\u043c\u044f\u0442\u044c, \u0432\u044b\u0437\u043e\u0432\u0435\u043c <code>memory_usage()<\/code> \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c <code>deep=True<\/code> (\u0438\u0441\u043a\u0430\u0442\u044c \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u043f\u043e \u0432\u0441\u0435\u043c \u0441\u0441\u044b\u043b\u043a\u0430\u043c):<\/p>\n<pre><code class=\"python\">prime_df.memory_usage(deep=True)<\/code><\/pre>\n<pre><code>Index              128 group           145811 small_group     170679 method          185840 name            136464 type            159729 module          108671 doc            2610492 about           201014 parameters       57616 annotations     230696 defaults        147568 dtype: int64<\/code><\/pre>\n<p>\u0412\u044b\u044f\u0441\u043d\u0438\u043c, \u0447\u0442\u043e \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u043e\u0431\u044a\u0451\u043c \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u043e\u0439 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u043e\u043c \u043f\u0430\u043c\u044f\u0442\u0438 4,15 \u041c\u0431:<\/p>\n<pre><code class=\"python\">prime_df.memory_usage(deep=True).sum()<\/code><\/pre>\n<pre><code>4154708<\/code><\/pre>\n<h2>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0433\u043e, \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c  \u043c\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u043c \u0444\u043e\u0440\u043c\u0430\u0442 \u043d\u0430\u0448\u0435\u0433\u043e \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430. \u0414\u043e \u0441\u0435\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0443 \u043d\u0430\u0441 \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438  \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430 \u044f\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u043c\u0435\u0442\u043e\u0434\u044b (\u0430 \u0442\u0430\u043a\u0436\u0435 \u043a\u043b\u0430\u0441\u0441\u044b, \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b), \u0430  \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u043c\u0438 &#8212; \u0438\u0445 \u0442\u0438\u043f\u043e\u0432\u044b\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 (\u0433\u0440\u0443\u043f\u043f\u0430, \u043a\u043b\u0430\u0441\u0441, \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438,  \u0441\u043f\u0438\u0441\u043e\u043a \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432). \u041d\u043e, \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u0442\u0435\u0441\u044c, \u044d\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043f\u043e\u043a\u0430 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e  \u0434\u0435\u0442\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0430. \u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0433\u0438\u0431\u043a\u0443\u044e &#171;\u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445&#187;, \u0433\u0434\u0435 \u043a\u0430\u0436\u0434\u043e\u0439  \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u0431\u044b\u043b\u043e \u0431\u044b \u0442\u043e \u0438\u043b\u0438 \u0438\u043d\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0442\u043e\u0433\u043e \u0438\u043b\u0438 \u0438\u043d\u043e\u0433\u043e  \u043c\u0435\u0442\u043e\u0434\u0430\/\u043a\u043b\u0430\u0441\u0441\u0430\/\u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 <code>pandas<\/code> .<\/p>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0438\u0435 \u0432\u043e\u043e\u0431\u0449\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435  \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 (\u0440\u0430\u0437\u0434\u0435\u043b\u044b \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u043d\u0443\u0442\u044b \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438 \u0442\u0438\u0440\u0435). \u0410 \u0442\u0430\u043a\u0436\u0435 &#8212; \u043a\u0430\u043a\u0438\u0435 \u0432\u0438\u0434\u044b  \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0439 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442? \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0431\u0435\u0440\u0435\u043c \u043d\u0430\u0448 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c, \u0438 \u0432\u044b\u0432\u0435\u0434\u0435\u043c  \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u0441\u0435\u0445 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432 \u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u0441\u0435\u0445 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0439.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c  \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e (set) \u0432\u0441\u0435\u0445 <em>\u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432<\/em> \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438. \u0420\u0430\u0437\u0434\u0435\u043b \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438  \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u043d\u0443\u0442 (\u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435) \u0442\u0438\u0440\u0435 &#8216;-&#8216; \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0442\u0440\u043e\u043a\u0438. \u0420\u0430\u0437\u0434\u0435\u043b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e (set) <em>\u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0439<\/em> \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 &#8212; \u043e\u043d\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442  \u0432\u043d\u0430\u0447\u0430\u043b\u0435 \u043f\u0440\u043e\u0431\u0435\u043b\u044b \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0441 \u0434\u0432\u043e\u0439\u043d\u044b\u0445 \u0442\u043e\u0447\u0435\u043a &#8216;..&#8217; (\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c  \u0441\u043b\u0443\u0447\u0430\u0438 \u0442\u0440\u043e\u0439\u043d\u044b\u0445 \u0442\u043e\u0447\u0435\u043a &#8216;&#8230;&#8217; &#8212; \u0441 \u043d\u0438\u0445 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0432\u044b\u0432\u043e\u0434\u0430 \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435!) \u0438  \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u0432\u043e\u0439\u043d\u044b\u043c\u0438 \u0434\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u044f\u043c\u0438: &#8216;::&#8217; \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0439 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 :: \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e  \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f .. \u0438\u043b\u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430.<\/p>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u0439 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u0441\u0435\u0445 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0439<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">def get_uniq_sections_notes(element: str) -> tuple:     \"\"\"\u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 - \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 pandas, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u043e\u0440\u0442\u0435\u0436 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432 \u0438 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438\"\"\"      uniq_sections = set()     uniq_notes = set()      if element is None:         return uniq_sections, uniq_notes          lines = element.splitlines()     prev_line = ''      for line in lines:         if line.startswith('--'):             uniq_sections.add(prev_line)             continue         ind_end = -1         if line.strip().startswith('..') and not line.strip().startswith('...'):             note_line = line.strip().replace('..','').strip()             ind_end = note_line.find('::')         if ind_end != -1:             note_line = note_line[:ind_end].strip()             uniq_notes.add(note_line)         prev_line = line.strip()      return uniq_sections, uniq_notes  uniq_sections = set() uniq_notes = set() for value in prime_df['doc'].values:     uniq_sections_new, uniq_notes_new = get_uniq_sections_notes(value)     uniq_sections = uniq_sections | uniq_sections_new     uniq_notes = uniq_notes | uniq_notes_new<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0418\u0442\u0430\u043a, \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044b \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 (\u0434\u0432\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u043c &#8212; \u044d\u0442\u043e \u043d\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044b, \u043e\u043d\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445):<\/p>\n<pre><code class=\"python\">uniq_sections<\/code><\/pre>\n<pre><code>{'#   Column     Non-Null Count  Dtype',  '#   Column    Non-Null Count    Dtype',  'Attributes',  'Examples',  'Methods',  'Notes',  'Parameters',  'Raises',  'Returns',  'See Also',  'Yields'}<\/code><\/pre>\n<p>\u0423\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438:<\/p>\n<pre><code class=\"python\">uniq_notes<\/code><\/pre>\n<pre><code>{'code-block',  'deprecated',  'math',  'note',  'plot',  'versionadded',  'versionchanged',  'warning'}<\/code><\/pre>\n<p>\u041e\u0442\u043b\u0438\u0447\u043d\u043e, \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430 &#8212; &#171;\u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445&#187; \u043c\u0435\u0442\u043e\u0434\u043e\u0432 <code>pandas<\/code>.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 &#8212; \u044d\u0442\u043e  \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f (\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438) \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u043c\u0435\u0442\u043e\u0434\u0430. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f  \u043e\u0434\u0438\u043d (!) \u0442\u0430\u043a\u043e\u0439 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c, \u043c\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u0441\u043c\u043e\u0436\u0435\u043c \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0443\u044e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0443\u044e  \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443. \u0417\u0434\u0435\u0441\u044c \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u0442\u0440\u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0445  \u0441\u0442\u043e\u043b\u0431\u0446\u0430:<\/p>\n<ul>\n<li>\n<p><strong>object<\/strong> (\u0432 \u043d\u0435\u0433\u043e \u043c\u044b \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u0443\u0435\u043c method) &#8212; \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435  \u0444\u0443\u043d\u043a\u0446\u0438\u0438\/\u043c\u0435\u0442\u043e\u0434\u0430\/\u043a\u043b\u0430\u0441\u0441\u0430, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0435 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0435\u0435\u0441\u044f \u043d\u0430  pandas.<\/p>\n<\/li>\n<li>\n<p><strong>element_type<\/strong> &#8212; \u0432\u0438\u0434 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f, \u043d\u0438\u0436\u0435 \u043c\u044b \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u0432\u0441\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b<\/p>\n<\/li>\n<li>\n<p><strong>element_value<\/strong> &#8212; \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"python\">pandas_doc_df = pd.DataFrame(columns=['object', 'element_type', 'element_value'])<\/code><\/pre>\n<p>\u0422\u0430\u043a\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f <em>melted<\/em> &#8212; \u0440\u0430\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435. \u0414\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u043a\u0430\u043a \u0431\u044b &#171;\u0441\u0442\u0435\u043a\u043b\u0438&#187; \u0432 \u0441\u0442\u0440\u043e\u043a\u0438&#8230;<\/p>\n<p>\u041a\u0430\u043a\u0438\u0435 \u0436\u0435 \u0442\u0438\u043f\u044b \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u044b \u0432\u0432\u0435\u0434\u0451\u043c? \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0443\u0436\u0435 \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u0440\u0430\u043d\u0435\u0435:<\/p>\n<ul>\n<li>\n<p><strong>group<\/strong> &#8212; \u0433\u0440\u0443\u043f\u043f\u0430 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/p>\n<\/li>\n<li>\n<p><strong>small_group<\/strong> &#8212; \u043c\u0430\u043b\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/p>\n<\/li>\n<li>\n<p><strong>name<\/strong> &#8212; \u0438\u043c\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u043c\u043e\u0436\u0435\u0442 \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f<\/p>\n<\/li>\n<li>\n<p><strong>type<\/strong> &#8212; \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 (\u043a\u043b\u0430\u0441\u0441, \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e),<\/p>\n<\/li>\n<li>\n<p><strong>module<\/strong> &#8212; \u043c\u043e\u0434\u0443\u043b\u044c<\/p>\n<\/li>\n<li>\n<p><strong>doc<\/strong> &#8212; \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/p>\n<\/li>\n<li>\n<p><strong>about<\/strong> &#8212; \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/p>\n<\/li>\n<li>\n<p><strong>parameters<\/strong> &#8212; \u0441\u043f\u0438\u0441\u043e\u043a \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432<\/p>\n<\/li>\n<li>\n<p><strong>annotations<\/strong> &#8212; \u0441\u043b\u043e\u0432\u0430\u0440\u044c {\u0430\u0442\u0440\u0438\u0431\u0443\u0442: \u0442\u0438\u043f\u044b}. \u0422\u0438\u043f\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u0442\u0440\u043e\u043a\u0443, \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e &#8216;|&#8217;<\/p>\n<\/li>\n<li>\n<p><strong>defaults<\/strong> &#8212; \u0441\u043b\u043e\u0432\u0430\u0440\u044c {\u0430\u0442\u0440\u0438\u0431\u0443\u0442: \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e}<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u043e \u043a\u0440\u043e\u043c\u0435 \u044d\u0442\u0438\u0445 \u0442\u0438\u043f\u043e\u0432 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u043c\u044b \u0432\u0432\u0435\u0434\u0435\u043c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e:<\/p>\n<ul>\n<li>\n<p><strong>about_detailed<\/strong> &#8212; \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043e  \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0430\u0437\u0434\u0435\u043b Parameters. \u0412\u043a\u043b\u044e\u0447\u0430\u044f  \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f, \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0441 &#8216;..&#8217;<\/p>\n<\/li>\n<li>\n<p><strong>parameter_types_default_str<\/strong> &#8212; \u0441\u043b\u043e\u0432\u0430\u0440\u044c {\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440: \u0441\u0442\u0440\u043e\u043a\u0430, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0430\u044f  \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0442\u0438\u043f\u043e\u0432}, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0442\u0438\u043f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e (\u0447\u0430\u0441\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e\u0441\u043b\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430). \u041a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430 &#8212; \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440.<\/p>\n<\/li>\n<li>\n<p><strong>parameter_doc_dict<\/strong> &#8212; \u0441\u043b\u043e\u0432\u0430\u0440\u044c {\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440: \u0441\u0442\u0440\u043e\u043a\u0430, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0430\u044f \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435  \u0434\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430}. \u041a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430 &#8212; \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440.<\/p>\n<\/li>\n<li>\n<p><strong>returns_str<\/strong> &#8212; \u0441\u0442\u0440\u043e\u043a\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0434\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430<\/p>\n<\/li>\n<li>\n<p><strong>attributes_dict<\/strong> &#8212; \u0441\u043b\u043e\u0432\u0430\u0440\u044c, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 {\u0430\u0442\u0440\u0438\u0431\u0443\u0442: \u0441\u0442\u0440\u043e\u043a\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f}. \u041a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430 &#8212; \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442.<\/p>\n<\/li>\n<li>\n<p><strong>methods_dict<\/strong> &#8212; \u0441\u043b\u043e\u0432\u0430\u0440\u044c, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 {\u0430\u0442\u0440\u0438\u0431\u0443\u0442: \u0441\u0442\u0440\u043e\u043a\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f}. \u041a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430 &#8212; \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442.<\/p>\n<\/li>\n<li>\n<p><strong>notes<\/strong> &#8212; \u0441\u0442\u0440\u043e\u043a\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435<\/p>\n<\/li>\n<li>\n<p><strong>examples<\/strong> &#8212; \u0441\u0442\u0440\u043e\u043a\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438<\/p>\n<\/li>\n<li>\n<p><strong>yields<\/strong> &#8212; \u0440\u0430\u0437\u0434\u0435\u043b \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439<\/p>\n<\/li>\n<li>\n<p><strong>raises<\/strong> &#8212; \u0441\u0442\u0440\u043e\u043a\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p><strong>see_also<\/strong> &#8212; \u0441\u0442\u0440\u043e\u043a\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0421\u043c.\u0442\u0430\u043a\u0436\u0435<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437 3 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430, \u0441\u0432\u0435\u0434\u044f \u0438\u0445 \u0432 \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 &#171;\u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043f\u0438\u0441\u043a\u043e\u0432&#187;, \u0430 \u043f\u043e\u0442\u043e\u043c \u0441\u0440\u0430\u0437\u0443 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0432 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c. \u041f\u0435\u0440\u0435\u0431\u0435\u0440\u0435\u043c \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 <code>prime_df<\/code> \u0438 \u0432\u044b\u0442\u0430\u0449\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0432\u0441\u0435\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432, \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0432 \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0441\u0442\u0440\u043e\u043a\u0443 \u0434\u043b\u044f \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430. \u0414\u0430\u043b\u0435\u0435 \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0443 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 <code>__doc__<\/code> \u0438 \u0440\u0430\u0441\u043f\u0430\u0440\u0441\u0438\u043c \u0435\u0451, \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0432 \u0435\u0449\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0440\u043e\u043a, \u043f\u043e \u0447\u0438\u0441\u043b\u0443 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438.<\/p>\n<details class=\"spoiler\">\n<summary>\u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043a\u043e\u0434 \u0434\u043b\u044f \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430:<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">doc_data = []  def append_element(metod, element_type):     \"\"\"\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a doc_data \u0441\u043f\u0438\u0441\u043e\u043a [metod, element_type, element_value]\"\"\"      if row[element_type] is not None:         element_value = row[element_type]         doc_data.append([metod, element_type, element_value])   for i, row in prime_df.iterrows():     metod = row['method']          # \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043d\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0435     for element_type in ['group', 'small_group', 'name', 'type',                           'module', 'doc', 'about', 'parameters',                           'annotations', 'defaults']:         append_element(metod, element_type)      # \u041f\u0430\u0440\u0441\u0438\u043c \u0434\u0435\u0442\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0438\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0432 uniq_sections)     element_type = 'about_detailed'     if row['doc'] is not None:         doc_lines = row['doc'].splitlines()         element_value = ''         for j, doc_string in enumerate(doc_lines):             if j &lt; len(doc_lines)-1 and doc_lines[j+1].strip() in uniq_sections:                 break             else:                 element_value = f\"{element_value}\\n{doc_string}\"          doc_data.append([metod, element_type, element_value])      # \u041f\u0430\u0440\u0441\u0438\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043c\u0435\u0442\u043e\u0434\u0430\/\u0444\u0443\u043a\u0446\u0438\u0438 \u0438 \u0438\u0445 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435     element_type = 'parameter_types_default_str'     if row['doc'] is not None:         # \u0421\u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u0442\u0440\u043e\u043a \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 param_strings         element_value = None         param_strings = []         is_param = False         for j, doc_string in enumerate(doc_lines):             if doc_string.strip() == 'Parameters':                 is_param = True             if doc_string.strip() in (uniq_sections - {'Parameters'}):                 break             if is_param:                 param_strings.append(doc_string)          # \u0421\u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u0442\u0440\u043e\u043a \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 param_strings         if param_strings:             param_doc = ''             for param_string in param_strings[2:]:                 try:                     in_list = param_string.split(' : ')[0].strip() in list(row['parameters'])                 except:                        in_list = False                 if not param_string.startswith(' ') and ' : ' in param_string and in_list:                     if param_doc != '':                         element_type = 'parameter_doc_dict'                         element_value = {element_value_key: param_doc}                         doc_data.append([metod, element_type, element_value])                     element_type = 'parameter_types_default_str'                     element_value_key = param_string.split(':')[0].strip()                     element_value_item = param_string.split(':')[1].strip()                     element_value = {element_value_key: element_value_item}                     doc_data.append([metod, element_type, element_value])                     param_doc = f\"{element_value_key}: {element_value_item}\\n\"                     continue                 param_doc = f\"{param_doc}\\n{param_string}\"              element_type = 'parameter_doc_dict'             element_value = {element_value_key: param_doc}             doc_data.append([metod, element_type, element_value])      # \u041f\u0430\u0440\u0441\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u043c:     element_type = 'returns_str'     if row['doc'] is not None:         element_value = None         return_strings = []         is_return = False         for j, doc_string in enumerate(doc_lines):             if doc_string.strip() == 'Returns':                 is_return = True             if doc_string.strip() in uniq_sections - {'Parameters', 'Returns'}:                 break             if is_return:                 return_strings.append(doc_string)         if return_strings:             element_value = '\\n'.join(return_strings[2:])         if element_value:             doc_data.append([metod, element_type, element_value])       # \u041f\u0430\u0440\u0441\u0438\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b:     element_type = 'attributes_dict'     if row['doc'] is not None:         element_value = None         attr_strings = []         is_attr = False         for j, doc_string in enumerate(doc_lines):             if doc_string.strip() == 'Attributes':                 is_attr = True             if is_attr and (doc_string.strip() in uniq_sections - {'Attributes'}):                 break             if is_attr:                 attr_strings.append(doc_string)             if doc_string.strip() in ['', 'None']:                 attr_strings = []                 is_attr = False          if attr_strings:             attr_doc = ''             for attr_string in attr_strings[2:]:                 if not attr_string.startswith(' ') and ':' in attr_string:                     if attr_doc != '':                         element_type = 'attributes_dict'                         element_value = {element_value_key: attr_doc}                         doc_data.append([metod, element_type, element_value])                     continue                 element_value_key = attr_string.split(':')[0].strip()                 element_value_item = attr_string.split(':')[1].strip()                 element_value = {element_value_key: element_value_item}                 attr_doc = f\"{attr_doc}\\n{attr_string}\"              element_type = 'attributes_dict'             element_value = {element_value_key: attr_doc}             doc_data.append([metod, element_type, element_value])      element_type = 'methods_dict'     if row['doc'] is not None:         element_value = None         methods_strings = []         is_method = False         for j, doc_string in enumerate(doc_lines):             if doc_string.strip() == 'Methods':                 is_method = True             if is_method and doc_string.strip() in uniq_sections - {'Methods'}:                 break             if is_method:                 methods_strings.append(doc_string)             if doc_string.strip() in ['', 'None']:                 methods_strings = []                 is_method = False          if methods_strings:             method_doc = ''             for method_string in methods_strings[2:]:                 if not method_string.startswith(' ') and ':' in method_string:                     if method_doc != '':                         element_type = 'methods_dict'                         element_value = {element_value_key: method_doc}                         doc_data.append([metod, element_type, element_value])                     continue                 method_doc = f\"{method_doc}\\n{method_string}\"              element_type = 'methods_dict'             element_value = {element_value_key: method_doc}             doc_data.append([metod, element_type, element_value])            element_type = 'notes'     if row['doc'] is not None:         element_value = None         notes_strings = []         is_notes = False         for j, doc_string in enumerate(doc_lines):             if doc_string.strip() == 'Notes':                 is_notes = True             if is_notes and doc_string.strip() in uniq_sections - {'Notes'}:                 break             if is_notes:                 notes_strings.append(doc_string)         element_value = '\\n'.join(notes_strings[2:])         if element_value:             doc_data.append([metod, element_type, element_value])        element_type = 'examples'     if row['doc'] is not None:         element_value = None         examples_strings = []         is_examples = False         for j, doc_string in enumerate(doc_lines):             if doc_string.strip() == 'Examples':                 is_examples = True             if is_examples and doc_string.strip() in uniq_sections - {'Examples'}:                 break             if is_examples:                 examples_strings.append(doc_string)         element_value = '\\n'.join(examples_strings[2:])         if element_value:             doc_data.append([metod, element_type, element_value])        element_type = 'yields'     if row['doc'] is not None:         element_value = None         yields_strings = []         is_yields = False         for j, doc_string in enumerate(doc_lines):             if doc_string.strip() == 'Yields':                 is_yields = True             if is_yields and doc_string.strip() in uniq_sections - {'Yields'}:                 break             if is_yields:                 yields_strings.append(doc_string)         element_value = '\\n'.join(yields_strings[2:])         if element_value:             doc_data.append([metod, element_type, element_value])        element_type = 'raises'     if row['doc'] is not None:         element_value = None         raises_strings = []         is_raises = False         for j, doc_string in enumerate(doc_lines):             if doc_string.strip() == 'Raises':                 is_raises = True             if is_raises and doc_string.strip() in uniq_sections - {'Raises'}:                 break             if is_raises:                 raises_strings.append(doc_string)         element_value = '\\n'.join(raises_strings[2:])         if element_value:             doc_data.append([metod, element_type, element_value])        element_type = 'see_also'     if row['doc'] is not None:         element_value = None         see_also_strings = []         is_see_also = False         for j, doc_string in enumerate(doc_lines):             if doc_string.strip() == 'See Also':                 is_see_also = True             if is_see_also and doc_string.strip() in uniq_sections - {'See Also'}:                 break             if is_see_also:                 see_also_strings.append(doc_string)         element_value = '\\n'.join(see_also_strings[2:])         if element_value:             doc_data.append([metod, element_type, element_value])     columns = ['object', 'element_type', 'element_value'] pandas_doc_df = pd.DataFrame(columns=columns, data = doc_data) <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u043f\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u043c\u0443 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0443: 22589 \u0437\u0430\u043f\u0438\u0441\u0435\u0439!<\/p>\n<pre><code class=\"python\">pandas_doc_df.info()<\/code><\/pre>\n<pre><code>&lt;class 'pandas.core.frame.DataFrame'> RangeIndex: 22589 entries, 0 to 22588 Data columns (total 3 columns):  #   Column         Non-Null Count  Dtype  ---  ------         --------------  -----   0   object         22589 non-null  object  1   element_type   22589 non-null  object  2   element_value  22589 non-null  object dtypes: object(3) memory usage: 529.6+ KB<\/code><\/pre>\n<p>\u041f\u043e\u0434\u0441\u0447\u0438\u0442\u0430\u0435\u043c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u043f\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432:<\/p>\n<pre><code class=\"python\">pandas_doc_df.groupby(['element_type']).agg({'object': 'count'}).reset_index().sort_values('object',ascending=False, ignore_index=True)<\/code><\/pre>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/a2d\/f78\/047\/a2df780476f3aefa536a62174814da30.jpg\" alt=\"\u041c\u043d\u043e\u0433\u043e \u0432\u0441\u0435\u0433\u043e, \u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e 3 \u0439\u0435\u043b\u0434\u0430...\" title=\"\u041c\u043d\u043e\u0433\u043e \u0432\u0441\u0435\u0433\u043e, \u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e 3 \u0439\u0435\u043b\u0434\u0430...\" width=\"280\" height=\"707\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a2d\/f78\/047\/a2df780476f3aefa536a62174814da30.jpg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>\u041c\u043d\u043e\u0433\u043e \u0432\u0441\u0435\u0433\u043e, \u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e 3 \u0439\u0435\u043b\u0434\u0430&#8230;<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c: <a href=\"https:\/\/cloud.mail.ru\/public\/x15s\/RJVKpdb5R\" rel=\"noopener noreferrer nofollow\">pandas_doc_df.csv<\/a> \u0438 \u0441\u043e \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u043e\u0439: <a href=\"https:\/\/cloud.mail.ru\/public\/YWrE\/jmaBhk1Gb\" rel=\"noopener noreferrer nofollow\">stat_doc.csv<\/a><\/p>\n<p>\u0418\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043c\u0435\u0441\u0442\u0438\u043b \u0432 \u0441\u0435\u0431\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 pandas: 6,2 \u041c\u0431<\/p>\n<h3>\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0432\u044b\u0431\u043e\u0440\u043e\u043a \u0438\u0437 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430:<\/h3>\n<p>\u0412\u044b\u0431\u043e\u0440\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0431\u044b\u0447\u043d\u044b\u043c\u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 <code>pandas<\/code><\/p>\n<p>\u0418\u0449\u0435\u043c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u043c\u0435\u0442\u043e\u0434\u0443 pandas.read_pickle:<\/p>\n<pre><code class=\"python\"># \u0418\u0449\u0435\u043c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u043c\u0435\u0442\u043e\u0434\u0443 pandas.read_pickle: pandas_doc_df[pandas_doc_df.object == 'pandas.read_pickle']<\/code><\/pre>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/259\/448\/f4e\/259448f4e191edfc2d853d394b34d755.jpg\" alt=\"\u0412\u043e\u0442 \u0442\u0430\u043a \u043c\u044b \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043b\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u0443\u043f\u0430\u043a\u043e\u0432\u0449\u0438\u043a\u0430 \u0432 \u0431\u0430\u043d\u043a\u0443 \u0441 \u0441\u043e\u043b\u0435\u043d\u044b\u043c\u0438 \u043e\u0433\u0443\u0440\u0446\u0430\u043c\u0438...\" title=\"\u0412\u043e\u0442 \u0442\u0430\u043a \u043c\u044b \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043b\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u0443\u043f\u0430\u043a\u043e\u0432\u0449\u0438\u043a\u0430 \u0432 \u0431\u0430\u043d\u043a\u0443 \u0441 \u0441\u043e\u043b\u0435\u043d\u044b\u043c\u0438 \u043e\u0433\u0443\u0440\u0446\u0430\u043c\u0438...\" width=\"677\" height=\"765\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/259\/448\/f4e\/259448f4e191edfc2d853d394b34d755.jpg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>\u0412\u043e\u0442 \u0442\u0430\u043a \u043c\u044b \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043b\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u0443\u043f\u0430\u043a\u043e\u0432\u0449\u0438\u043a\u0430 \u0432 \u0431\u0430\u043d\u043a\u0443 \u0441 \u0441\u043e\u043b\u0435\u043d\u044b\u043c\u0438 \u043e\u0433\u0443\u0440\u0446\u0430\u043c\u0438&#8230;<\/figcaption><\/div>\n<\/figure>\n<pre><code class=\"python\"># \u041d\u0430\u0439\u0442\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u043c\u0443 \u043c\u0435\u0442\u043e\u0434\u0443, \u043d\u0430\u043f\u0440., 'pandas.read_pickle' pandas_doc_df[(pandas_doc_df.object == 'pandas.read_pickle')                &amp; (pandas_doc_df.element_type == 'parameter_doc_dict')]<\/code><\/pre>\n<pre><code class=\"python\"># \u0418\u0449\u0435\u043c \u0432\u0441\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438: pandas_doc_df[pandas_doc_df.element_type == 'doc']<\/code><\/pre>\n<pre><code class=\"python\"># \u0418\u0449\u0435\u043c \u0432\u0441\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0441\u043e \u0441\u043b\u043e\u0432\u043e\u043c excel\/Excel: all_names = pandas_doc_df[pandas_doc_df.element_type == 'name'] all_names[all_names.element_value.str.contains('excel')          | all_names.element_value.str.contains('Excel')]<\/code><\/pre>\n<pre><code class=\"python\"># \u0418\u0449\u0435\u043c \u0432\u0441\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0441 yields: pandas_doc_df[pandas_doc_df.element_type == 'yields']<\/code><\/pre>\n<p>\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u044d\u0442\u043e: <code>pandas.HDFStore.walk<\/code>, <code>pandas.DataFrame.items<\/code>, <code>pandas.DataFrame.iterrows<\/code><\/p>\n<p>\u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u043d\u0430\u0439\u0434\u0435\u043c \u043c\u0435\u0442\u043e\u0434\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432:<\/p>\n<pre><code class=\"python\"># \u041d\u0430\u0439\u0434\u0435\u043c \u043c\u0435\u0442\u043e\u0434\u044b \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432: sort_param = pandas_doc_df[pandas_doc_df.element_type == 'parameter_doc_dict'] sort_param = sort_param.groupby('object').agg({'element_value': 'count'}).reset_index().sort_values('element_value',ascending=False) sort_param<\/code><\/pre>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/bf6\/785\/219\/bf6785219e00ca7d9c9d23fb5439d72b.jpg\" alt=\"\u041a\u0442\u043e \u0441\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 3 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432? &quot;\u0410-\u0445\u0430-\u0445\u0430&quot;, - \u0434\u043e\u043d\u0435\u0441\u043b\u043e\u0441\u044c \u0438\u0437 \u0431\u0430\u043c\u0431\u0443\u043a\u043e\u0432\u044b\u0445 \u0437\u0430\u0440\u043e\u0441\u043b\u0435\u0439...\" title=\"\u041a\u0442\u043e \u0441\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 3 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432? &quot;\u0410-\u0445\u0430-\u0445\u0430&quot;, - \u0434\u043e\u043d\u0435\u0441\u043b\u043e\u0441\u044c \u0438\u0437 \u0431\u0430\u043c\u0431\u0443\u043a\u043e\u0432\u044b\u0445 \u0437\u0430\u0440\u043e\u0441\u043b\u0435\u0439...\" width=\"345\" height=\"735\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bf6\/785\/219\/bf6785219e00ca7d9c9d23fb5439d72b.jpg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>\u041a\u0442\u043e \u0441\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 3 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432? &#171;\u0410-\u0445\u0430-\u0445\u0430&#187;, &#8212; \u0434\u043e\u043d\u0435\u0441\u043b\u043e\u0441\u044c \u0438\u0437 \u0431\u0430\u043c\u0431\u0443\u043a\u043e\u0432\u044b\u0445 \u0437\u0430\u0440\u043e\u0441\u043b\u0435\u0439&#8230;<\/figcaption><\/div>\n<\/figure>\n<h2>\u0418\u0442\u043e\u0433\u043e<\/h2>\n<p>\u041a\u043e\u0434 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0435\u0449\u0435 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043d\u0430 \u0441\u043f\u0438\u0441\u043a\u0438 \u0438\u043b\u0438 \u0441\u043b\u043e\u0432\u0430\u0440\u0438. \u0427\u0430\u0441\u0442\u044c \u043a\u043e\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c (DRY), \u0432\u0432\u0435\u0434\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u043d\u043e \u044d\u0442\u043e \u0431\u0443\u0434\u0443\u0442 \u0432\u0435\u0441\u044c\u043c\u0430 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438&#8230; \u0438 \u043b\u0443\u0447\u0448\u0435\u0435 &#8212; \u0432\u0440\u0430\u0433 \u0442\u043e\u0433\u043e \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u043b\u0435\u043d\u043d\u043e\u0435 \u043d\u0430 \u043e\u0442\u043a\u0430\u0437\u0435 \u043e\u0442 \u043b\u0443\u0447\u0448\u0435\u0433\u043e \u0432\u0440\u0435\u043c\u044f). \u0418\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0437\u0434\u0435\u0441\u044c: <a href=\"https:\/\/cloud.mail.ru\/public\/vQWR\/FzC8CCtyg\" rel=\"noopener noreferrer nofollow\">parse_pandas.ipynb<\/a><\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><\/p>\n<div class=\"tm-article-poll-container\"><!--[--><\/p>\n<div class=\"tm-article-poll tm-article-poll_variant-bordered\">\n<div class=\"tm-notice tm-notice_positive tm-article-poll__notice\"><!----><\/p>\n<div class=\"tm-notice__inner\"><!----><\/p>\n<div class=\"tm-notice__content\" data-test-id=\"notice-content\"><!--[--><span>\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a rel=\"nofollow\" href=\"\/kek\/v1\/auth\/habrahabr\/?back=\/ru\/articles\/784344\/&#038;hl=ru\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/span><!--]--><\/div>\n<\/div>\n<\/div>\n<p><!--[--><\/p>\n<div class=\"tm-article-poll__header\">\u0427\u0442\u043e \u0431\u044b \u0432\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0435\u0449\u0435 \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c (\u0432\u043e\u0437\u043c\u043e\u0436\u0435\u043d \u0432\u044b\u0431\u043e\u0440 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432)?<\/div>\n<div class=\"tm-article-poll__answers\"><!--[--><\/p>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent tm-article-poll__answer-percent_winning\">35.71% <\/span><span class=\"tm-article-poll__answer-label\">\u041d\u0438\u0447\u0435\u0433\u043e! \u041e\u0442 \u0443\u043f\u0430\u043a\u043e\u0432\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0432 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c \u043d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u044b!<\/span><span class=\"tm-article-poll__answer-votes\">5<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress tm-article-poll__answer-progress_winning\" style=\"width: 35.71%\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">21.43% <\/span><span class=\"tm-article-poll__answer-label\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e numpy \u0438 scipy<\/span><span class=\"tm-article-poll__answer-votes\">3<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width: 21.43%\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">28.57% <\/span><span class=\"tm-article-poll__answer-label\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e ML-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a<\/span><span class=\"tm-article-poll__answer-votes\">4<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width: 28.57%\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">14.29% <\/span><span class=\"tm-article-poll__answer-label\">\u0410 \u043a\u0430\u043a \u043d\u0430\u0441\u0447\u0435\u0442 \u0443\u043f\u0430\u043a\u043e\u0432\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0434\u043b\u044f SQL \u0432 \u0411\u0414 SQL?<\/span><span class=\"tm-article-poll__answer-votes\">2<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width: 14.29%\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">21.43% <\/span><span class=\"tm-article-poll__answer-label\">\u0423\u043f\u0430\u043a\u0443\u0439\u0442\u0435 \u0443\u0436\u0435 \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0446\u0435\u043d\u043d\u043e\u0435 \u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044c\u043d\u043e\u0435, \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435 \u043f\u043e\u0434 \u0451\u043b\u043a\u0443, \u0430 \u044f \u0443\u0442\u0440\u043e\u043c \u043f\u0440\u043e\u0441\u043d\u0443\u0441\u044c \u0438 \u043d\u0430\u0439\u0434\u0443!<\/span><span class=\"tm-article-poll__answer-votes\">3<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width: 21.43%\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">14.29% <\/span><span class=\"tm-article-poll__answer-label\">\u0412\u044b\u0431\u0440\u0430\u043b \u0431\u044b \u043f\u0440\u0435\u0434\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043f\u0443\u043d\u043a\u0442, \u043d\u043e \u0443\u0436\u0435 \u0443\u0431\u0440\u0430\u043b \u0451\u043b\u043a\u0443\u2026 (((<\/span><span class=\"tm-article-poll__answer-votes\">2<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width: 14.29%\"><\/div>\n<\/div>\n<\/div>\n<p><!--]--><\/div>\n<div class=\"tm-article-poll__stats\"> \u041f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u0438 14 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439.   \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u043b\u0438\u0441\u044c 4 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. <\/div>\n<p><!--]--><\/div>\n<p><!--]--><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/784344\/\"> https:\/\/habr.com\/ru\/articles\/784344\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\">\n<div><figcaption>pandas \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0438\u043c\u043f\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/figcaption><\/div>\n<\/figure>\n<p>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043a \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c \u043d\u0430 \u043f\u0438\u0442\u043e\u043d\u0435 (\u043d\u0430\u043f\u0440. <a href=\"https:\/\/pandas.pydata.org\/docs\/reference\/index.html\" rel=\"noopener noreferrer nofollow\">pandas<\/a>) \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 doc-\u0441\u0442\u0440\u043e\u043a\u0430\u0445 \u0438 \u0440\u0430\u0437\u0431\u0440\u043e\u0441\u0430\u043d\u0430 \u043f\u043e \u0441\u043e\u0442\u043d\u044f\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0441\u0430\u0439\u0442\u0430. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0443\u043f\u0430\u043a\u0443\u0435\u043c \u0435\u0451 (\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0438\u0437 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0438 \u043c\u0435\u0442\u043e\u0434\u0430) \u0432&#8230; \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c. \u041d\u043e \u0437\u0430\u0447\u0435\u043c? \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, <s>\u044d\u0442\u043e \u043f\u0440\u0438\u043a\u043e\u043b\u044c\u043d\u043e<\/s> \u0442\u0430\u043a \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e <em>\u0438\u0441\u043a\u0430\u0442\u044c \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/em>. \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u0438\u0437\u0443\u0447\u0438\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u043f\u0438\u0442\u043e\u043d\u043e\u0432\u0441\u043a\u0438\u0435 <em>\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439<\/em>. \u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0442\u0430\u043a\u043e\u0439 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c <em>\u043e\u0441\u043d\u043e\u0432\u043e\u0439 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f\/\u0434\u043e\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f GPT-\u043c\u043e\u0434\u0435\u043b\u0435\u0439<\/em> \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439, \u0431\u0435\u0437\u043e\u0448\u0438\u0431\u043e\u0447\u043d\u044b\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0439 \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0438\u0445 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b, \u043a\u043e\u0434&#8230;<\/p>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u044f \u043e\u0442 \u0442\u0435\u043a\u0441\u0442\u0430, \u0445\u043e\u0442\u044c \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e, \u043a \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0444\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u043c\u0443 \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u043e\u043c\u0443 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044e, \u043c\u044b \u0434\u0432\u0438\u0436\u0435\u043c\u0441\u044f \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 <em>\u043d\u0435\u0430\u043d\u0442\u0440\u043e\u043f\u043e\u043c\u043e\u0440\u0444\u043d\u043e\u0441\u0442\u0438<\/em> \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 &#8212; \u0442\u043e \u0435\u0441\u0442\u044c \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u043e\u0431\u043b\u0435\u0433\u0447\u0435\u043d\u0438\u044f \u0435\u0451 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u043c\u0430\u0448\u0438\u043d\u044b, \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430, \u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0443\u0441\u043b\u043e\u0436\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 (\u043d\u0435 \u043d\u0435 \u0432\u0441\u044f\u043a\u043e\u0433\u043e &#8212; \u0442\u043e\u0442, \u043a\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043e\u043f\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430\u043c\u0438, \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u0442 \u0438\u0437 \u0442\u0430\u043a\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u0443 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435! ) <\/p>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f pandas &#8212; 2.1.4. \u0412\u0435\u0440\u0441\u0438\u044f python 3.8.12.  <\/p>\n<h2>\u041f\u0435\u0440\u0432\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043e\u043f\u044b\u0442 \u0443\u043f\u0430\u043a\u043e\u0432\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0432 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c<\/h2>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438:<\/p>\n<pre><code class=\"python\">import pandas as pd import numpy as np<\/code><\/pre>\n<p>\u0414\u043b\u044f \u043b\u044e\u0431\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0442\u0430\u043a\u0436\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438 \u0441\u0430\u043c\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <code>pandas<\/code>, \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043f\u043e\u0434 \u0438\u043c\u0435\u043d\u0435\u043c <code>pd<\/code>, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u0438\u043b\u0438 \u0435\u0435 \u0447\u0430\u0441\u0442\u044c:<\/p>\n<ul>\n<li>\n<p>\u0437\u0430\u0439\u0442\u0438 \u043d\u0430 <a href=\"https:\/\/pandas.pydata.org\/docs\/index.html\" rel=\"noopener noreferrer nofollow\">\u0441\u0430\u0439\u0442 \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439<\/a>;<\/p>\n<\/li>\n<li>\n<p>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/docs.python.org\/3\/library\/functions.html#help\" rel=\"noopener noreferrer nofollow\">\u0444\u0443\u043d\u043a\u0446\u0438\u044e help()<\/a> &#8212; \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u043f\u0440\u0430\u0432\u043a\u0443 \u043f\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0443;<\/p>\n<\/li>\n<li>\n<p>\u0432\u044b\u0437\u0432\u0430\u0442\u044c <a href=\"https:\/\/docs.python.org\/3\/reference\/datamodel.html?highlight=__doc__#method.__doc__\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0440\u043e\u043a\u0443 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a> __<code>doc__<\/code><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.python.org\/3\/library\/functions.html#dir\" rel=\"noopener noreferrer nofollow\">\u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432<\/a> \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0434\u0430\u043d\u0434\u0435\u0440-\u043c\u0435\u0442\u043e\u0434\u0430 (\u0442.\u0435. \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430, \u0441 \u0434\u0432\u043e\u0439\u043d\u044b\u043c\u0438 \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435)\u00a0__<code>dir__()<\/code><\/p>\n<\/li>\n<\/ul>\n<blockquote>\n<p>\u0414\u0430\u043b\u0435\u0435, \u0433\u043e\u0432\u043e\u0440\u044f \u043e &#171;\u043c\u0435\u0442\u043e\u0434\u0430\u0445 <code>pandas<\/code>&#187; \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e &#171;\u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u0445 <code>pandas<\/code> &#8212; \u043a\u043b\u0430\u0441\u0441\u0430\u0445, \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445, \u043c\u0435\u0442\u043e\u0434\u0430\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u0445, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438&#187;<\/p>\n<\/blockquote>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0434\u0430\u043d\u0434\u0435\u0440-\u043c\u0435\u0442\u043e\u0434\u0430 (\u0442.\u0435. \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430, \u0441 \u0434\u0432\u043e\u0439\u043d\u044b\u043c\u0438 \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u0432\u043d\u0430\u0447\u0430\u043b\u0435 \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435)\u00a0__<code>dir__()<\/code>. <\/p>\n<p>\u0410 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>if not x.startswith('_')<\/code> \u043c\u044b \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u043c \u0432\u0441\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438 \u0434\u0430\u043d\u0434\u0435\u0440-\u043c\u0435\u0442\u043e\u0434\u044b:<\/p>\n<pre><code class=\"python\">[x for x in pd.__dir__() if not x.startswith('_')]<\/code><\/pre>\n<details class=\"spoiler\">\n<summary>\u041f\u043e\u043b\u0443\u0447\u0438\u043c \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u043d\u043e \u043a\u0430\u043a \u0438\u0445 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0442\u044c???<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>['annotations',  'core',  'errors',  'util',  'compat',  'get_option',  'set_option',  'reset_option',  'describe_option',  'option_context',  'options',  'pandas',  'io',  'tseries',  'arrays',  'plotting',  'ArrowDtype',  'Int8Dtype',  'Int16Dtype',  ...   'merge_ordered',  'crosstab',  'pivot',  'pivot_table',  'get_dummies',  'from_dummies',  'cut',  'qcut',  'api',  'testing',  'show_versions',  'ExcelFile',  'ExcelWriter',  'read_excel',  'read_csv',  'read_fwf',  'read_table',  'read_pickle',  'to_pickle',  'HDFStore',  'read_hdf',  'read_sql',  'read_sql_query',  'read_sql_table',  'read_clipboard',  'read_parquet',  'read_orc',  'read_feather',  'read_gbq',  'read_html',  'read_xml',  'read_json',  'read_stata',  'read_sas',  'read_spss',  'json_normalize',  'test',  'Float64Index',  'Int64Index',  'UInt64Index']<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438 \u043d\u0435 \u0434\u0430\u0435\u0442 \u043d\u0430\u043c \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f, \u043a\u0430\u043a \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u044d\u0442\u0438 \u043c\u0435\u0442\u043e\u0434\u044b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u043f\u0440\u044f\u043c\u044b\u043c \u043f\u0443\u0442\u0451\u043c: \u043e\u0442\u043a\u0440\u043e\u0435\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443\u00a0<a href=\"https:\/\/pandas.pydata.org\/docs\/reference\/index.html\" rel=\"noopener noreferrer nofollow\">https:\/\/pandas.pydata.org\/docs\/reference\/index.html<\/a>\u00a0\u0438 \u043e\u0431\u0440\u0430\u0442\u0438\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043c\u0435\u043d\u044e \u0441\u043b\u0435\u0432\u0430. \u0417\u0434\u0435\u0441\u044c \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0432\u0441\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u043c\u0435\u0442\u043e\u0434\u043e\u0432. \u041f\u0440\u043e\u0441\u0442\u043e \u043a\u043e\u043f\u0438\u043f\u0435\u0439\u0441\u0442\u043e\u043c \u0437\u0430\u043d\u0435\u0441\u0435\u043c \u0438\u0445 \u0432 \u0441\u0442\u0440\u043e\u043a\u0443 <code>groups<\/code>. \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>.splitlines()<\/code> &#8212; \u043c\u0435\u0442\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u0430\u043a \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0440\u043e\u043a\u0438 <code>\\n<\/code>. \u0410 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430 <code>.strip()<\/code> \u043c\u044b \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u043f\u0440\u043e\u0431\u0435\u043b\u044b \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0440\u043e\u043a\u0438:<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0421\u043b\u0435\u0432\u0430 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0439 pandas<\/figcaption><\/div>\n<\/figure>\n<pre><code class=\"python\">groups = \"\"\"Input\/output General functions Series DataFrame pandas arrays, scalars, and data types Index objects Date offsets Window GroupBy Resampling Style Plotting Options and settings Extensions Testing\"\"\"  [x.strip() for x in groups.splitlines()]<\/code><\/pre>\n<pre><code>['Input\/output',  'General functions',  'Series',  'DataFrame',  'pandas arrays, scalars, and data types',  'Index objects',  'Date offsets',  'Window',  'GroupBy',  'Resampling',  'Style',  'Plotting',  'Options and settings',  'Extensions',  'Testing']<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0440\u0430\u0441\u043a\u0440\u043e\u0435\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043f\u0443\u043d\u043a\u0442\u043e\u0432 \u043c\u0435\u043d\u044e \u0438 \u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0435\u043c \u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0441\u0442\u0440\u043e\u043a\u0438. \u041f\u0435\u0440\u0432\u043e\u0439 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u0442\u0440\u043e\u043a\u0443 <code>input_output<\/code>, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0443\u044e \u043c\u0435\u0442\u043e\u0434\u044b \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u0430\u0445:<\/p>\n<pre><code class=\"python\">input_output = '''pandas.read_pickle     pandas.DataFrame.to_pickle     pandas.read_table     pandas.read_csv     pandas.DataFrame.to_csv     pandas.read_fwf     pandas.read_clipboard     pandas.DataFrame.to_clipboard     pandas.read_excel     pandas.DataFrame.to_excel     pandas.ExcelFile     pandas.ExcelFile.book     pandas.ExcelFile.sheet_names     pandas.ExcelFile.parse     pandas.io.formats.style.Styler.to_excel     pandas.ExcelWriter     pandas.read_json     pandas.json_normalize     pandas.DataFrame.to_json     pandas.io.json.build_table_schema     pandas.read_html     pandas.DataFrame.to_html     pandas.io.formats.style.Styler.to_html     pandas.read_xml     pandas.DataFrame.to_xml     pandas.DataFrame.to_latex     pandas.io.formats.style.Styler.to_latex     pandas.read_hdf     pandas.HDFStore.put     pandas.HDFStore.append     pandas.HDFStore.get     pandas.HDFStore.select     pandas.HDFStore.info     pandas.HDFStore.keys     pandas.HDFStore.groups     pandas.HDFStore.walk     pandas.read_feather     pandas.DataFrame.to_feather     pandas.read_parquet     pandas.DataFrame.to_parquet     pandas.read_orc     pandas.DataFrame.to_orc     pandas.read_sas     pandas.read_spss     pandas.read_sql_table     pandas.read_sql_query     pandas.read_sql     pandas.DataFrame.to_sql     pandas.read_gbq     pandas.read_stata     pandas.DataFrame.to_stata     pandas.io.stata.StataReader.data_label     pandas.io.stata.StataReader.value_labels     pandas.io.stata.StataReader.variable_labels     pandas.io.stata.StataWriter.write_file'''  [x.strip() for x in input_output.splitlines()]<\/code><\/pre>\n<p>&#8230; \u0438 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u044d\u0442\u043e \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0433\u0440\u0443\u043f\u043f. <\/p>\n<blockquote>\n<p>\u041a\u0430\u043a \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0430\u0440\u0441\u0435\u0440 \u0441\u0430\u0439\u0442\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 <code>pandas<\/code>, \u043d\u043e \u044d\u0442\u043e \u0437\u0430\u043d\u044f\u043b\u043e \u0431\u044b \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438&#8230; \u041d\u043e \u043f\u0430\u0440\u0441\u0435\u0440 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u043b\u0441\u044f \u0431\u044b, \u0435\u0441\u043b\u0438 \u0431\u044b \u043c\u044b \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u0432\u0441\u0435\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 pandas.<\/p>\n<\/blockquote>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u044c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043a\u043b\u044e\u0447\u0430\u043c\u0438 <code>groups_keys<\/code> \u0431\u0443\u0434\u0443\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 <code>groups_items<\/code> &#8212; \u0441\u043f\u0438\u0441\u043a\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432.<\/p>\n<p>\u0412 <code>groups_str_items<\/code> \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u043d\u0430\u0448\u0438\u0445 \u0441\u0442\u0440\u043e\u043a, \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043c\u0435\u0442\u043e\u0434\u044b \u0442\u043e\u0439 \u0438\u043b\u0438 \u0438\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b, \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043f\u0438\u0441\u043a\u043e\u0432 <code>groups_items <\/code>\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <code>zip<\/code> \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043b\u044e\u0447 \u0441 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u0441\u043f\u0438\u0441\u043a\u043e\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u044c <code>groups_dict<\/code>:<\/p>\n<pre><code class=\"python\">groups_keys = [x.strip() for x in groups.splitlines()]  groups_str_items = [input_output, general_functions, series, dataframe,                      arrays_scalars_data_types, index_objects, date_ofsets,                      window, groupby, resampling, style, plotting,                      options_settings, extensions, testing,]  groups_items = [] for item in groups_str_items:     group_item = []     for x in item.splitlines():         group_item.append(x.strip())     groups_items.append(group_item)  groups_dict = {key: value for key, value in zip(groups_keys, groups_items)}<\/code><\/pre>\n<p>\u041e\u0442\u043b\u0438\u0447\u043d\u043e, \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0439 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 <code>pandas<\/code>. \u0423 \u043d\u0430\u0441 \u0431\u0443\u0434\u0443\u0442 2 \u0441\u0442\u043e\u043b\u0431\u0446\u0430: <code>'group'<\/code> &#8212; \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 <code>'method'<\/code> &#8212; \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0441\u0430\u043c \u043c\u0435\u0442\u043e\u0434 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 (\u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430).<\/p>\n<p>\u041c\u0435\u0442\u043e\u0434\u043e\u043c <code>concat<\/code> \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u043e\u0432 \u0432 \u043e\u0434\u0438\u043d (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 &#8212; \u043f\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u043e), <code>ignore_index=True<\/code> \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043d\u043e\u0432\u043e, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b \u0441\u043a\u0432\u043e\u0437\u043d\u043e\u0439 \u0438\u043d\u0434\u0435\u043a\u0441:<\/p>\n<pre><code class=\"python\">prime_df = pd.DataFrame(columns=['group', 'method']) for key, item_list in groups_dict.items():     df = pd.DataFrame()     df['method'] = item_list     df['group'] = key     prime_df = pd.concat([prime_df, df], ignore_index=True)  print(prime_df)<\/code><\/pre>\n<figure class=\"\">\n<div><figcaption>2085 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438 \u043c\u044b \u0432 pandas \u0432\u0435\u0440\u0441\u0438\u0438 2.1.4. \u041e\u0434\u043d\u0430\u043a\u043e!<\/figcaption><\/div>\n<\/figure>\n<p>\u0418\u0442\u0430\u043a, pandas \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 2.1.4 \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 2085 \u043c\u0435\u0442\u043e\u0434\u043e\u0432! \u0412\u044b\u0432\u0435\u0434\u0435\u043c \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u043f\u043e \u0433\u0440\u0443\u043f\u043f\u0430\u043c \u043c\u0435\u0442\u043e\u0434\u043e\u0432. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u043a \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0443 \u0432\u0441\u0435\u0433\u043e \u0442\u0440\u0438 \u043c\u0435\u0442\u043e\u0434\u0430 <code>pandas<\/code>:<\/p>\n<ul>\n<li>\n<p><code>groupby()<\/code> \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0441\u0442\u043e\u043b\u0431\u0446\u0430, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0434\u0435\u043b\u0430\u0435\u043c \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0443 &#8212; \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0433\u0440\u0443\u043f\u043f\u044b \u043c\u0435\u0442\u043e\u0434\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p><code>agg()<\/code> &#8212; \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b, \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c <code>'count'<\/code> &#8212; \u043f\u043e\u0434\u0441\u0447\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430;<\/p>\n<\/li>\n<li>\n<p><code>sort_values()<\/code> &#8212; \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0434\u0430\u043d\u043d\u044b\u043c \u0441\u0442\u043e\u043b\u0431\u0446\u0430 (\u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 <code>'method'<\/code>, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435), \u043f\u043e \u0443\u0431\u044b\u0432\u0430\u043d\u0438\u044e <code>ascending=False:<\/code><\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"python\">first_grouped_df = prime_df.groupby('group').agg('count').sort_values('method',ascending=False) first_grouped_df<\/code><\/pre>\n<figure class=\"\">\n<div><figcaption>\u0421\u0430\u043c\u0430\u044f \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 662 \u043c\u0435\u0442\u043e\u0434\u0430, \u0441\u0430\u043c\u0430\u044f \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0430\u044f &#8212; 6.<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 .csv, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0432 Excel \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u044b\u043c\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u0438 \u0434\u0430\u0436\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0432 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0412\u044b\u0433\u0440\u0443\u0437\u0438\u043c \u0431\u0435\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432, \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0435\u043c \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u044f\u0442\u0430\u044f. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0430\u043f\u043a\u0443 Data \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435.<\/p>\n<pre><code class=\"python\"># \u0412 Data\/.csv , \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e ',' prime_df.to_csv('Data\/prime_df.csv',                  index=False) first_grouped_df.to_csv('Data\/first_grouped_df.csv',                 index=True) <\/code><\/pre>\n<p>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c: <a href=\"https:\/\/cloud.mail.ru\/public\/nD9E\/uTZrdJ7ac\" rel=\"noopener noreferrer nofollow\">prime_df.csv<\/a>,  <a href=\"https:\/\/cloud.mail.ru\/public\/r6pJ\/uVHV59dEs\" rel=\"noopener noreferrer nofollow\">first_grouped_df.csv<\/a><\/p>\n<h3>\u0412\u0442\u043e\u0440\u043e\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432<\/h3>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u0438\u043c \u043d\u0430\u0448\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e: \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u043d\u043e\u0433\u0438\u0445 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0433\u0440\u0443\u043f\u043f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0441\u044f \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u043e\u043c\u0435\u043b\u044c\u0447\u0435! \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u0430\u0441\u043a\u0440\u044b\u0432 \u0433\u0440\u0443\u043f\u043f\u0443 <code>Input\/output<\/code>, \u043c\u044b \u0441\u043f\u0440\u0430\u0432\u0430 \u0443\u0432\u0438\u0434\u0438\u043c \u0435\u0449\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f:<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0414\u0430 \u0442\u0443\u0442 \u044d\u0442\u0438\u0445 \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043b\u0435\u0436\u0438 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e!<\/figcaption><\/div>\n<\/figure>\n<details class=\"spoiler\">\n<summary>\u0417\u0430\u043d\u0435\u0441\u0435\u043c \u0438\u0445 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e input_output_2 (\u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0431\u0443\u0434\u0435\u043c \u0438\u043c\u0435\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0441 \u044d\u0442\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c):<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">input_output_2 = \"\"\"Pickling Flat file Clipboard Excel JSON HTML XML Latex HDFStore: PyTables (HDF5) Feather Parquet ORC SAS SPSS SQL Google BigQuery STATA\"\"\"  input_output_2 = [x.strip() for x in input_output_2.splitlines()]<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0418 \u0442\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0441 \u043a\u0430\u0436\u0434\u043e\u0439 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u043e\u0439.<\/p>\n<p>\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a, \u0433\u0434\u0435 \u0435\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 &#171;\u0431\u043e\u043b\u044c\u0448\u043e\u0439&#187; \u0433\u0440\u0443\u043f\u043f\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043c\u0435\u0442\u043e\u0434 \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u044b \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f. <\/p>\n<details class=\"spoiler\">\n<summary>\u0422\u0430\u043a, \u0434\u043b\u044f input_output \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442:<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">input_output_2_methods = \"\"\"read_pickle DataFrame.to_pickle read_fwf<\/code><\/pre>\n<\/div>\n<\/details>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-364487","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/364487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=364487"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/364487\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=364487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=364487"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=364487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}