{"id":12538,"date":"2024-12-14T16:41:43","date_gmt":"2024-12-14T07:41:43","guid":{"rendered":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/?p=12538"},"modified":"2024-12-14T16:41:43","modified_gmt":"2024-12-14T07:41:43","slug":"py-describe","status":"publish","type":"post","link":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/2024\/12\/14\/py-describe\/","title":{"rendered":"\u3010Python\u3011Pandas\u3067DataFrame\u306e\u7d71\u8a08\u91cf\u3092\u53d6\u5f97\u3059\u308b\u65b9\u6cd5\u307e\u3068\u3081"},"content":{"rendered":"<p>Python\u306ePandas\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u3046\u3068\u30c7\u30fc\u30bf\u306e\u5206\u6790\u304c\u7c21\u5358\u306b\u3067\u304d\u307e\u3059\u3002\u7279\u306bdescribe\u3084mean\u3001std\u3068\u3044\u3063\u305f\u30e1\u30bd\u30c3\u30c9\u3092\u6d3b\u7528\u3059\u308c\u3070\u30c7\u30fc\u30bf\u306e\u57fa\u672c\u7684\u306a\u7d71\u8a08\u91cf\u3092\u7d20\u65e9\u304f\u78ba\u8a8d\u53ef\u80fd\u3067\u3059\u3002\u3053\u306e\u8a18\u4e8b\u3067\u306fDataFrame\u306e\u7d71\u8a08\u91cf\u3092\u53d6\u5f97\u3059\u308b\u305f\u3081\u306e\u4fbf\u5229\u306a\u30e1\u30bd\u30c3\u30c9\u3092\u5177\u4f53\u4f8b\u3092\u4ea4\u3048\u3066\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n<h2>\u7d71\u8a08\u91cf\u3092\u4e00\u62ec\u3067\u78ba\u8a8d\u3067\u304d\u308bdescribe\u30e1\u30bd\u30c3\u30c9<\/h2>\n<p><strong>describe<\/strong>\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u3046\u3068DataFrame\u5168\u4f53\u306e\u57fa\u672c\u7684\u306a\u7d71\u8a08\u91cf\u3092\u4e00\u62ec\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\u5bfe\u8c61\u3068\u306a\u308b\u30c7\u30fc\u30bf\u578b\uff08\u6570\u5024\u30c7\u30fc\u30bf\u3084\u30ab\u30c6\u30b4\u30ea\u30c7\u30fc\u30bf\uff09\u306b\u5fdc\u3058\u3066\u7570\u306a\u308b\u60c5\u5831\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002<\/p>\n<h5>\u6570\u5024\u30c7\u30fc\u30bf\u306e\u5834\u5408<\/h5>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nimport pandas as pd\r\n\r\ndata = {\r\n    'A': &#x5B;1, 2, 3, 4, 5],\r\n    'B': &#x5B;10, 20, 30, 40, 50]\r\n}\r\ndf = pd.DataFrame(data)\r\n\r\nprint(df.describe())\r\n \r\n# \u51fa\u529b\r\n#               A          B\r\n# count  5.000000   5.000000\r\n# mean   3.000000  30.000000\r\n# std    1.581139  15.811388\r\n# min    1.000000  10.000000\r\n# 25%    2.000000  20.000000\r\n# 50%    3.000000  30.000000\r\n# 75%    4.000000  40.000000\r\n# max    5.000000  50.000000\r\n \r\n<\/pre>\n<p>&nbsp;<\/p>\n<ul>\n<li><strong>count<\/strong>: \u6709\u52b9\u306a\u30c7\u30fc\u30bf\u306e\u500b\u6570<\/li>\n<li><strong>mean<\/strong>: \u5e73\u5747\u5024<\/li>\n<li><strong>std<\/strong>: \u6a19\u6e96\u504f\u5dee<\/li>\n<li><strong>min<\/strong>: \u6700\u5c0f\u5024<\/li>\n<li><strong>25%<\/strong>: \u7b2c\u4e00\u56db\u5206\u4f4d\u6570<\/li>\n<li><strong>50%<\/strong> (median): \u4e2d\u592e\u5024<\/li>\n<li><strong>75%<\/strong>: \u7b2c\u4e09\u56db\u5206\u4f4d\u6570<\/li>\n<li><strong>max<\/strong>: \u6700\u5927\u5024<\/li>\n<\/ul>\n<h5>\u6587\u5b57\u30c7\u30fc\u30bf\u306e\u5834\u5408<\/h5>\n<p>\u6587\u5b57\u5217\u3084\u30ab\u30c6\u30b4\u30ea\u30c7\u30fc\u30bf\u306b\u5bfe\u3057\u3066describe\u3092\u4f7f\u3046\u3068\u3001\u4ee5\u4e0b\u306e\u60c5\u5831\u304c\u5f97\u3089\u308c\u307e\u3059\u3002<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nimport pandas as pd\r\n\r\ndata = {\r\n    'C': &#x5B;'apple', 'banana', 'apple', 'orange', 'banana']\r\n}\r\ndf = pd.DataFrame(data)\r\n\r\nprint(df.describe())\r\n\r\n# \u51fa\u529b\r\n#             C\r\n# count       5\r\n# unique      3\r\n# top     apple\r\n# freq        2\r\n\r\n<\/pre>\n<ul>\n<li><strong>count<\/strong>: \u6709\u52b9\u306a\u30c7\u30fc\u30bf\u306e\u500b\u6570<\/li>\n<li><strong>unique<\/strong>: \u30e6\u30cb\u30fc\u30af\u306a\u5024\u306e\u500b\u6570<\/li>\n<li><strong>top<\/strong>: \u6700\u983b\u5024<\/li>\n<li><strong>freq<\/strong>: \u6700\u983b\u5024\u306e\u51fa\u73fe\u56de\u6570<\/li>\n<\/ul>\n<h2>\u6a19\u6e96\u504f\u5dee\u3092\u8a08\u7b97\u3059\u308bstd\u30e1\u30bd\u30c3\u30c9<\/h2>\n<p><strong>std<\/strong>\u30e1\u30bd\u30c3\u30c9\u306f\u3001\u7279\u5b9a\u306e\u5217\u3084\u5168\u4f53\u306e\u6a19\u6e96\u504f\u5dee\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002\u6a19\u6e96\u504f\u5dee\u306f\u30c7\u30fc\u30bf\u306e\u3070\u3089\u3064\u304d\u3092\u793a\u3059\u6307\u6a19\u3067\u5e73\u5747\u304b\u3089\u306e\u30c7\u30fc\u30bf\u306e\u5206\u6563\u3092\u8868\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nimport pandas as pd\r\n\r\ndata = {\r\n    'A': &#x5B;1, 2, 3, 4, 5],\r\n    'B': &#x5B;10, 20, 30, 40, 50]\r\n}\r\ndf = pd.DataFrame(data)\r\n\r\nprint(df&#x5B;'A'].std())  # \u5217A\u306e\u6a19\u6e96\u504f\u5dee\r\n \r\n# \u51fa\u529b\r\n# 1.5811388300841898\r\n \r\n<\/pre>\n<p>&nbsp;<\/p>\n<h2>\u5e73\u5747\u5024\u3092\u8a08\u7b97\u3059\u308bmean\u30e1\u30bd\u30c3\u30c9<\/h2>\n<p>\u30c7\u30fc\u30bf\u306e\u5e73\u5747\u5024\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n# \u5171\u901a\u90e8\u5206\u7701\u7565\r\nprint(df&#x5B;'A'].mean()) # \u5217A\u306e\u5e73\u5747\u5024\r\n\r\n# \u51fa\u529b\r\n# 3.0\r\n \r\n<\/pre>\n<p>&nbsp;<\/p>\n<h2>\u4e2d\u592e\u5024\u3092\u8a08\u7b97\u3059\u308bmedian\u30e1\u30bd\u30c3\u30c9<\/h2>\n<p>\u30c7\u30fc\u30bf\u306e\u4e2d\u592e\u5024\uff08\u4e2d\u592e\u5024\uff09\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002\u4e2d\u592e\u5024\u306f\u5916\u308c\u5024\u306e\u5f71\u97ff\u3092\u53d7\u3051\u306b\u304f\u3044\u6307\u6a19\u3067\u3059\u3002<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n# \u5171\u901a\u90e8\u5206\u7701\u7565\r\nprint(df&#x5B;'A'].median()) # \u5217A\u306e\u4e2d\u592e\u5024\r\n\r\n# \u51fa\u529b\r\n# 3.0\r\n \r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>\u6700\u5c0f\u5024\u3068\u6700\u5927\u5024\u3092\u53d6\u5f97\u3059\u308bmin\u30fbmax\u30e1\u30bd\u30c3\u30c9<\/h2>\n<p>\u305d\u308c\u305e\u308c\u3001\u6700\u5c0f\u5024\u3068\u6700\u5927\u5024\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n# \u5171\u901a\u90e8\u5206\u7701\u7565\r\nprint(df&#x5B;'A'].min())  # \u5217A\u306e\u6700\u5c0f\u5024\r\nprint(df&#x5B;'A'].max())  # \u5217A\u306e\u6700\u5927\u5024\r\n\r\n# \u51fa\u529b\r\n# 1\r\n# 5\r\n \r\n<\/pre>\n<p>&nbsp;<\/p>\n<h2>\u5408\u8a08\u3092\u8a08\u7b97\u3059\u308bsum\u30e1\u30bd\u30c3\u30c9<\/h2>\n<p>\u30c7\u30fc\u30bf\u306e\u5408\u8a08\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n# \u5171\u901a\u90e8\u5206\u7701\u7565\r\nprint(df&#x5B;'A'].sum())  # \u5217A\u306e\u5408\u8a08\u5024\r\n\r\n# \u51fa\u529b\r\n# 15\r\n \r\n<\/pre>\n<p>&nbsp;<\/p>\n<h2>\u30c7\u30fc\u30bf\u306e\u5206\u6563\u3092\u8a08\u7b97\u3059\u308bvar\u30e1\u30bd\u30c3\u30c9<\/h2>\n<p>\u5206\u6563\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002\u5206\u6563\u306f\u6a19\u6e96\u504f\u5dee\u306e\u4e8c\u4e57\u306b\u76f8\u5f53\u3057\u3001\u30c7\u30fc\u30bf\u306e\u3070\u3089\u3064\u304d\u306e\u6307\u6a19\u3067\u3059\u3002<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n# \u5171\u901a\u90e8\u5206\u7701\u7565\r\nprint(df&#x5B;'A'].var())  # \u5217A\u306e\u5206\u6563\r\n\r\n# \u51fa\u529b\r\n# 2.5\r\n \r\n<\/pre>\n<p>&nbsp;<\/p>\n<h2>\u6700\u983b\u5024\u3092\u53d6\u5f97\u3059\u308bmode\u30e1\u30bd\u30c3\u30c9<\/h2>\n<p>\u30c7\u30fc\u30bf\u306e\u6700\u983b\u5024\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\u540c\u3058\u5024\u304c\u8907\u6570\u3042\u308b\u5834\u5408\u306f\u3001\u3059\u3079\u3066\u306e\u6700\u983b\u5024\u304c\u8fd4\u3055\u308c\u307e\u3059\u3002<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n# \u5171\u901a\u90e8\u5206\u7701\u7565\r\nprint(df&#x5B;'A'].mode())  # \u5217A\u306e\u6700\u983b\u5024\r\n\r\n# \u51fa\u529b\r\n# 0    1\r\n# 1    2\r\n# 2    3\r\n# 3    4\r\n# 4    5\r\n# Name: A, dtype: int64\r\n \r\n<\/pre>\n<p>&nbsp;<\/p>\n<h2>\u56db\u5206\u4f4d\u70b9\u3092\u53d6\u5f97\u3059\u308bquantile\u30e1\u30bd\u30c3\u30c9<\/h2>\n<p>\u4efb\u610f\u306e\u5206\u4f4d\u70b9\u3092\u8a08\u7b97\u3057\u307e\u3059\uff08\u4f8b: \u56db\u5206\u4f4d\u70b9\uff09\u3002<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n# \u5171\u901a\u90e8\u5206\u7701\u7565\r\nprint(df&#x5B;'A'].quantile(0.25))  # \u7b2c\u4e00\u56db\u5206\u4f4d\u6570\r\nprint(df&#x5B;'A'].quantile(0.75))  # \u7b2c\u4e09\u56db\u5206\u4f4d\u6570\r\n\r\n# \u51fa\u529b\r\n# 2.0\r\n# 4.0\r\n \r\n<\/pre>\n<p>&nbsp;<\/p>\n<h2>\u30e6\u30cb\u30fc\u30af\u306a\u5024\u3092\u53d6\u5f97\u3059\u308bunique\u30e1\u30bd\u30c3\u30c9\u3068\u5024\u306e\u983b\u5ea6\u3092\u78ba\u8a8d\u3059\u308bvalue_counts\u30e1\u30bd\u30c3\u30c9<\/h2>\n<ul>\n<li>unique: \u30e6\u30cb\u30fc\u30af\u306a\u5024\u306e\u4e00\u89a7\u3092\u53d6\u5f97\u3002<\/li>\n<li>value_counts: \u5404\u5024\u306e\u51fa\u73fe\u983b\u5ea6\u3092\u30ab\u30a6\u30f3\u30c8\u3002<\/li>\n<\/ul>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nimport pandas as pd\r\n\r\ndata = {\r\n    'C': &#x5B;'apple', 'banana', 'apple', 'orange', 'banana']\r\n}\r\ndf = pd.DataFrame(data)\r\n\r\nprint(df&#x5B;'C'].unique())  # \u5217C\u306e\u30e6\u30cb\u30fc\u30af\u306a\u5024\r\nprint(df&#x5B;'C'].value_counts())  # \u5217C\u306e\u5024\u3054\u3068\u306e\u983b\u5ea6\r\n\r\n# \u51fa\u529b\r\n# &#x5B;'apple' 'banana' 'orange']\r\n# C\r\n# apple     2\r\n# banana    2\r\n# orange    1\r\n# Name: count, dtype: int64\r\n \r\n<\/pre>\n<p>&nbsp;<\/p>\n<h2>\u6b20\u640d\u5024\u306e\u78ba\u8a8d\u3092\u884c\u3046isna\u30fbnotna\u30e1\u30bd\u30c3\u30c9<\/h2>\n<ul>\n<li>isna: \u6b20\u640d\u5024\uff08NaN\uff09\u3092\u78ba\u8a8d\u3059\u308b\uff08True\/False\u3067\u8fd4\u3059\uff09\u3002<\/li>\n<li>notna: \u6b20\u640d\u5024\u3067\u306a\u3044\u90e8\u5206\u3092\u78ba\u8a8d\u3059\u308b\u3002<\/li>\n<\/ul>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nimport pandas as pd\r\n\r\ndata = {\r\n    'A': &#x5B;1, 2, 3, None, 5],\r\n    'B': &#x5B;10, 20, 30, 40, 50]\r\n}\r\ndf = pd.DataFrame(data)\r\n\r\nprint(df&#x5B;'A'].isna())  # \u6b20\u640d\u5024\u306e\u78ba\u8a8d\r\nprint(df&#x5B;'A'].notna())  # \u6b20\u640d\u5024\u306e\u306a\u3044\u7b87\u6240\u306e\u78ba\u8a8d\r\n\r\n# \u51fa\u529b\r\n# 0    False\r\n# 1    False\r\n# 2    False\r\n# 3     True\r\n# 4    False\r\n# Name: A, dtype: bool\r\n# 0     True\r\n# 1     True\r\n# 2     True\r\n# 3    False\r\n# 4     True\r\n# Name: A, dtype: bool\r\n \r\n<\/pre>\n<p>&nbsp;<\/p>\n<h2>\u4ed6\u306b\u3082&#8230;<\/h2>\n<ul>\n<li>idxmin \/ idxmax: \u6700\u5c0f\u5024\u30fb\u6700\u5927\u5024\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u53d6\u5f97\u3002<\/li>\n<li>cumsum: \u7d2f\u7a4d\u548c\u3092\u8a08\u7b97\u3002<\/li>\n<li>cumprod: \u7d2f\u7a4d\u7a4d\u3092\u8a08\u7b97\u3002<\/li>\n<\/ul>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nimport pandas as pd\r\n\r\ndata = {\r\n    'A': &#x5B;1, 2, 3, 4, 5],\r\n    'B': &#x5B;10, 20, 30, 40, 50]\r\n}\r\ndf = pd.DataFrame(data)\r\n\r\nprint(df&#x5B;'A'].idxmin())  # \u6700\u5c0f\u5024\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u53d6\u5f97\r\nprint(df&#x5B;'A'].idxmax())  # \u6700\u5927\u5024\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u53d6\u5f97\r\nprint(df&#x5B;'A'].cumsum())  # \u7d2f\u7a4d\u548c\u3092\u8a08\u7b97\r\nprint(df&#x5B;'A'].cumprod())  # \u7d2f\u7a4d\u7a4d\u3092\u8a08\u7b97\r\n\r\n# \u51fa\u529b\r\n# 0\r\n# 4\r\n# 0     1\r\n# 1     3\r\n# 2     6\r\n# 3    10\r\n# 4    15\r\n# Name: A, dtype: int64\r\n# 0      1\r\n# 1      2\r\n# 2      6\r\n# 3     24\r\n# 4    120\r\n# Name: A, dtype: int64\r\n \r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Python\u306ePandas\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u3046\u3068\u30c7\u30fc\u30bf\u306e\u5206\u6790\u304c\u7c21\u5358\u306b\u3067\u304d\u307e\u3059\u3002\u7279\u306bd &#8230; <\/p>\n","protected":false},"author":1,"featured_media":12090,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37],"tags":[],"class_list":["post-12538","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python"],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/posts\/12538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/comments?post=12538"}],"version-history":[{"count":7,"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/posts\/12538\/revisions"}],"predecessor-version":[{"id":12545,"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/posts\/12538\/revisions\/12545"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/media\/12090"}],"wp:attachment":[{"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/media?parent=12538"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/categories?post=12538"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/tags?post=12538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}