{"id":3964,"date":"2024-12-13T08:25:12","date_gmt":"2024-12-12T23:25:12","guid":{"rendered":"https:\/\/secondlife.lol\/?p=3964"},"modified":"2024-12-14T08:10:38","modified_gmt":"2024-12-13T23:10:38","slug":"sleep-pattern-analysis-python-visualization","status":"publish","type":"post","link":"https:\/\/secondlife.lol\/zh\/sleep-pattern-analysis-python-visualization\/","title":{"rendered":"\u7761\u7720\u6a21\u5f0f\u5206\u6790\u548c Python \u53ef\u89c6\u5316\uff1a\u5229\u7528\u6570\u636e\u4fc3\u8fdb\u5065\u5eb7\u7761\u7720"},"content":{"rendered":"\n<p>\ud604\ub300\uc778\uc758 \ubc14\uc05c \uc77c\uc0c1 \uc18d\uc5d0\uc11c \uc218\uba74\uc758 \uc9c8\uc740 \uc6b0\ub9ac\uc758 \uac74\uac15\uacfc \uc9c1\uacb0\ub418\ub294 \uc911\uc694\ud55c \uc694\uc18c\uc785\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc790\uc2e0\uc758 \uc218\uba74 \ud328\ud134\uc744 \uc815\ud655\ud788 \ud30c\uc545\ud558\uace0 \uac1c\uc120\ud558\ub294 \uac83\uc740 \uc27d\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<p>\uc774\ub7ec\ud55c \ubb38\uc81c\ub97c \ud574\uacb0\ud558\uae30 \uc704\ud574, <strong><a href=\"http:\/\/python.org\" data-type=\"link\" data-id=\"python.org\" target=\"_blank\" rel=\"noopener\">\ud30c\uc774\uc36c<\/a>\uc744 \ud65c\uc6a9\ud55c <a href=\"https:\/\/secondlife.lol\/2025-world-university-ranking-visualization-python\/\" data-type=\"post\" data-id=\"3306\">\ub370\uc774\ud130 \uc2dc\uac01\ud654<\/a> \uae30\ubc95<\/strong>\uc744 \ud1b5\ud574 \uc218\uba74 \ud328\ud134 \ubd84\uc11d\uc5d0 \ub300\ud55c \uc774\ud574\ub3c4\ub97c \ub192\ud600\ub4dc\ub9ac\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n<style>.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-right:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:var(--global-kb-spacing-sm, 1.5rem);border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{color:var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{color:var(--global-palette2, #2B6CB0);font-size:28px;font-weight:regular;font-style:normal;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list{color:var(--global-palette1, #3182CE);line-height:2em;font-weight:regular;font-style:normal;margin-top:var(--global-kb-spacing-sm, 1.5rem);margin-right:0px;margin-bottom:0px;margin-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list .kb-table-of-contents__entry:hover{color:var(--global-palette6, #718096);}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}@media all and (max-width: 767px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}<\/style>\n\n\n<p><\/p>\n\n\n<style>.kb-image3964_12adbf-ff .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image3964_12adbf-ff img.kb-img, .kb-image3964_12adbf-ff .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image3964_12adbf-ff\"><figure class=\"aligncenter size-medium_large\"><img decoding=\"async\" width=\"768\" height=\"380\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/IMG_3682-768x380.jpeg\" alt=\"\uc218\uba74 \ud328\ud134 \ubd84\uc11d \ud30c\uc774\uc36c \uc2dc\uac01\ud654 \uadf8\ub9bc\" class=\"kb-img wp-image-3969\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/IMG_3682-768x380.jpeg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/IMG_3682-300x148.jpeg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/IMG_3682-600x297.jpeg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/IMG_3682-18x9.jpeg 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/IMG_3682.jpeg 1200w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption>( \uc218\uba74 \ud328\ud134 \ubd84\uc11d \uc774\ud574\ub97c \uc704\ud55c \ud30c\uc774\uc36c \uc2dc\uac01\ud654 \uc790\ub8cc)<\/figcaption><\/figure><\/div>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading3964_deb51a-ff, .wp-block-kadence-advancedheading.kt-adv-heading3964_deb51a-ff[data-kb-block=\"kb-adv-heading3964_deb51a-ff\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading3964_deb51a-ff mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading3964_deb51a-ff[data-kb-block=\"kb-adv-heading3964_deb51a-ff\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading3964_deb51a-ff img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading3964_deb51a-ff[data-kb-block=\"kb-adv-heading3964_deb51a-ff\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading3964_deb51a-ff wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading3964_deb51a-ff\">\uc218\uba74 \ud328\ud134 \ubd84\uc11d\uc758 \uc911\uc694\uc131<\/h2>\n\n\n\n<p>\uc218\uba74\uc740 \uc6b0\ub9ac\uc758 \uc2e0\uccb4\uc801, \uc815\uc2e0\uc801 \uac74\uac15\uc5d0 \ud070 \uc601\ud5a5\uc744 \ubbf8\uce69\ub2c8\ub2e4. \uc218\uba74 \ud328\ud134\uc744 \ubd84\uc11d\ud558\uba74 \uac1c\uc778\uc758 \uc218\uba74 \uc2b5\uad00\uc744 \ud30c\uc545\ud558\uace0, \uc218\uba74\uc758 \uc9c8\uc744 \ud5a5\uc0c1\uc2dc\ud0a4\uae30 \uc704\ud55c \ubc29\uc548\uc744 \ubaa8\uc0c9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<p>\ud2b9\ud788, \uc218\uba74 \ub2e8\uacc4\ubcc4\ub85c <strong>\uae4a\uc740 \uc218\uba74<\/strong>, <strong>\uac00\ubcbc\uc6b4 \uc218\uba74<\/strong>, <strong>REM \uc218\uba74<\/strong>, <strong>\uae68\uc5b4\uc788\ub294 \uc0c1\ud0dc<\/strong> \ub4f1\uc744 \uad6c\ubd84\ud558\uc5ec \ubd84\uc11d\ud558\uba74 \ub354\uc6b1 \uc815\ud655\ud55c \uc815\ubcf4\ub97c \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading3964_cd5bb3-62, .wp-block-kadence-advancedheading.kt-adv-heading3964_cd5bb3-62[data-kb-block=\"kb-adv-heading3964_cd5bb3-62\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading3964_cd5bb3-62 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading3964_cd5bb3-62[data-kb-block=\"kb-adv-heading3964_cd5bb3-62\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading3964_cd5bb3-62 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading3964_cd5bb3-62[data-kb-block=\"kb-adv-heading3964_cd5bb3-62\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading3964_cd5bb3-62 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading3964_cd5bb3-62\">\uc218\uba74 \ub2e8\uacc4\uc5d0 \ub300\ud55c \uc804\ubb38\uac00\uc801 \ubd84\uc11d<\/h2>\n\n\n\n<p>\uc218\uba74\uc740 <strong>\ub124 \uac00\uc9c0 \uc8fc\uc694 \ub2e8\uacc4<\/strong>\ub85c \ub098\ub269\ub2c8\ub2e4. \uac01\uac01\uc758 \ub2e8\uacc4\ub294 \ub3c5\ud2b9\ud55c \ud2b9\uc9d5\uacfc \uc5ed\ud560\uc744 \uac00\uc9c0\uace0 \uc788\uc73c\uba70, \uac74\uac15\uc5d0 \uc911\uc694\ud55c \uc601\ud5a5\uc744 \ubbf8\uce69\ub2c8\ub2e4.<\/p>\n\n\n\n<p><strong>1. \uae4a\uc740 \uc218\uba74 (Deep Sleep)<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ud2b9\uc9d5<\/strong>: \ub1cc\ud30c\uac00 \ub290\ub824\uc9c0\uace0, \uc131\uc7a5 \ud638\ub974\ubaac\uc774 \ubd84\ube44\ub418\uba70 \uc2e0\uccb4\uac00 \ud68c\ubcf5 \ubaa8\ub4dc\ub85c \uc804\ud658\ub429\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>\uac74\uac15\uc5d0 \ubbf8\uce58\ub294 \uc601\ud5a5<\/strong>: \uba74\uc5ed\ub825 \uac15\ud654, \uc138\ud3ec \uc7ac\uc0dd.<\/li>\n\n\n\n<li><strong>\uac1c\uc120 \ubc29\ubc95<\/strong>: \uc790\uae30 \uc804 \uc2a4\ub9c8\ud2b8\ud3f0 \uc0ac\uc6a9 \uc904\uc774\uae30.<\/li>\n<\/ul>\n\n\n\n<p><strong>2. \uac00\ubcbc\uc6b4 \uc218\uba74 (Light Sleep)<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ud2b9\uc9d5<\/strong>: \uc218\uba74\uc758 \uc9c4\uc785 \ub2e8\uacc4\ub85c, \uc804\uccb4 \uc218\uba74 \uc2dc\uac04\uc758 50% \uc774\uc0c1 \ucc28\uc9c0.<\/li>\n\n\n\n<li><strong>\uac74\uac15\uc5d0 \ubbf8\uce58\ub294 \uc601\ud5a5<\/strong>: REM \uc218\uba74\uacfc \uae4a\uc740 \uc218\uba74\uc73c\ub85c \uc804\ud658.<\/li>\n\n\n\n<li><strong>\uac1c\uc120 \ubc29\ubc95<\/strong>: \uaddc\uce59\uc801\uc778 \uc218\uba74 \uc2dc\uac04 \uc720\uc9c0.<\/li>\n<\/ul>\n\n\n\n<p><strong>3. REM \uc218\uba74 (REM Sleep)<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ud2b9\uc9d5<\/strong>: \uafc8\uc774 \uc774\ub8e8\uc5b4\uc9c0\uace0 \ub1cc \ud65c\ub3d9\uc774 \ud65c\ubc1c.<\/li>\n\n\n\n<li><strong>\uac74\uac15\uc5d0 \ubbf8\uce58\ub294 \uc601\ud5a5<\/strong>: \uac10\uc815 \uc2a4\ud2b8\ub808\uc2a4 \uc644\ud654, \ud559\uc2b5 \ub2a5\ub825 \ud5a5\uc0c1.<\/li>\n\n\n\n<li><strong>\uac1c\uc120 \ubc29\ubc95<\/strong>: \ucda9\ubd84\ud55c \uc218\uba74 \uc2dc\uac04 \ud655\ubcf4.<\/li>\n<\/ul>\n\n\n\n<p><strong>4. \uae68\uc5b4\uc788\ub294 \uc0c1\ud0dc (Awake)<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ud2b9\uc9d5<\/strong>: \uc218\uba74 \uc911 \uc790\uc5f0\uc2a4\ub7ec\uc6b4 \uae68\uc5b4\ub0a8.<\/li>\n\n\n\n<li><strong>\uac74\uac15\uc5d0 \ubbf8\uce58\ub294 \uc601\ud5a5<\/strong>: \uacfc\ub3c4\ud55c \uac01\uc131\uc740 \uc9d1\uc911\ub825 \uc800\ud558 \uc720\ubc1c.<\/li>\n\n\n\n<li><strong>\uac1c\uc120 \ubc29\ubc95<\/strong>: \uce68\uc2e4 \ud658\uacbd \ucd5c\uc801\ud654.<\/li>\n<\/ul>\n\n\n\n<p>\uc774\ub7ec\ud55c \uc218\uba74 \ub2e8\uacc4 \uac04\uc758 \uade0\ud615\uc740 \uac74\uac15\ud55c \uc218\uba74\uc758 \ud544\uc218 \uc870\uac74\uc785\ub2c8\ub2e4. \uadf8\ub807\uae30 \ub54c\ubb38\uc5d0 \ub2e8\uacc4\ubcc4 \uc218\uba74\uc0c1\ud0dc\uc5d0 \ub300\ud55c \uae30\ucd08\uc9c0\uc2dd \uc774\ud574\ub294 \uaf2d \uc54c\uc544\ub450\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading3964_fc6a90-f4, .wp-block-kadence-advancedheading.kt-adv-heading3964_fc6a90-f4[data-kb-block=\"kb-adv-heading3964_fc6a90-f4\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading3964_fc6a90-f4 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading3964_fc6a90-f4[data-kb-block=\"kb-adv-heading3964_fc6a90-f4\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading3964_fc6a90-f4 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading3964_fc6a90-f4[data-kb-block=\"kb-adv-heading3964_fc6a90-f4\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading3964_fc6a90-f4 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading3964_fc6a90-f4\">\ud30c\uc774\uc36c\uc744 \ud65c\uc6a9\ud55c \uc218\uba74 \ub370\uc774\ud130 \uc2dc\uac01\ud654<\/h2>\n\n\n\n<p>\uc774\uc81c \uac00\uc0c1\uc758 \ub370\uc774\ud130\ub97c \ud65c\uc6a9\ud574 \uc218\uba74 \ud328\ud134\uc744 \ubd84\uc11d\ud558\uace0 \uc2dc\uac01\ud654\ud558\ub294 \ubc29\ubc95\uc744 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 \uc790\uc2e0\uc758 \uc218\uba74 \ud328\ud134\uc744 \ubcf4\ub2e4 \uae4a\uc774 \uc774\ud574\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading3964_3f8ccd-c2, .wp-block-kadence-advancedheading.kt-adv-heading3964_3f8ccd-c2[data-kb-block=\"kb-adv-heading3964_3f8ccd-c2\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading3964_3f8ccd-c2 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading3964_3f8ccd-c2[data-kb-block=\"kb-adv-heading3964_3f8ccd-c2\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading3964_3f8ccd-c2 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading3964_3f8ccd-c2[data-kb-block=\"kb-adv-heading3964_3f8ccd-c2\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading3964_3f8ccd-c2 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading3964_3f8ccd-c2\">\ud30c\uc774\uc36c \ucf54\ub4dc \uc608\uc81c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>import pandas as pd\nimport matplotlib.pyplot as plt\n\n# 1. \uc2dc\uac04 \ubc94\uc704\uc640 \uc218\uba74 \ub2e8\uacc4 \ub370\uc774\ud130 \uc0dd\uc131\ntime_range = pd.date_range(start=\"23:00\", end=\"05:00\", freq=\"5min\")\n\nstage_data = &#91;\n&nbsp; &nbsp; (0, 4),&nbsp; # \uae4a\uc740 \uc218\uba74: 23:00 ~ 23:20\n&nbsp; &nbsp; (1, 3),&nbsp; # \uac00\ubcbc\uc6b4 \uc218\uba74: 23:20 ~ 23:35\n&nbsp; &nbsp; (2, 2),&nbsp; # REM \uc218\uba74: 23:35 ~ 23:45\n&nbsp; &nbsp; (1, 6),&nbsp; # \uac00\ubcbc\uc6b4 \uc218\uba74: 23:45 ~ 00:15\n&nbsp; &nbsp; (3, 3),&nbsp; # \uae68\uc5b4\uc788\uc74c: 00:15 ~ 00:30\n&nbsp; &nbsp; (0, 5),&nbsp; # \uae4a\uc740 \uc218\uba74: 00:30 ~ 00:55\n&nbsp; &nbsp; (1, 10), # \uac00\ubcbc\uc6b4 \uc218\uba74: 00:55 ~ 01:45\n&nbsp; &nbsp; (2, 5),&nbsp; # REM \uc218\uba74: 01:45 ~ 02:10\n&nbsp; &nbsp; (1, 10), # \uac00\ubcbc\uc6b4 \uc218\uba74: 02:10 ~ 03:00\n&nbsp; &nbsp; (3, 4),&nbsp; # \uae68\uc5b4\uc788\uc74c: 03:00 ~ 03:20\n&nbsp; &nbsp; (0, 6),&nbsp; # \uae4a\uc740 \uc218\uba74: 03:20 ~ 03:50\n&nbsp; &nbsp; (1, 8),&nbsp; # \uac00\ubcbc\uc6b4 \uc218\uba74: 03:50 ~ 04:30\n&nbsp; &nbsp; (2, 5),&nbsp; # REM \uc218\uba74: 04:30 ~ 04:55\n&nbsp; &nbsp; (1, 6) &nbsp; # \uac00\ubcbc\uc6b4 \uc218\uba74: 04:55 ~ 05:25\n]\n\nstages = &#91;]\nfor stage, duration in stage_data:\n&nbsp; &nbsp; stages.extend(&#91;stage] * duration)\nstages = stages&#91;:len(time_range)]\n\n# \ub370\uc774\ud130\ud504\ub808\uc784 \uc0dd\uc131\nsleep_data = pd.DataFrame({\"Time\": time_range, \"Stage\": stages})\n\n# 2. \ub370\uc774\ud130 \uc2dc\uac01\ud654\nplt.figure(figsize=(12, 6))\nstage_colors = {0: \"darkblue\", 1: \"blue\", 2: \"cyan\", 3: \"red\"}\n\nstage_labels = {0: \"\uae4a\uc740 \uc218\uba74\", 1: \"\uac00\ubcbc\uc6b4 \uc218\uba74\", 2: \"REM \uc218\uba74\", 3: \"\uae68\uc5b4\uc788\uc74c\"}\n\nfor stage, color in stage_colors.items():\n&nbsp; &nbsp; stage_times = sleep_data&#91;sleep_data&#91;\"Stage\"] == stage]\n&nbsp; &nbsp; plt.scatter(stage_times&#91;\"Time\"], stage_times&#91;\"Stage\"], color=color, label=stage_labels&#91;stage], s=10)\n\nplt.yticks(&#91;0, 1, 2, 3], &#91;\"\uae4a\uc740 \uc218\uba74\", \"\uac00\ubcbc\uc6b4 \uc218\uba74\", \"REM \uc218\uba74\", \"\uae68\uc5b4\uc788\uc74c\"], va=\"center\")\nplt.xticks(rotation=45)\nplt.xlabel(\"\uc2dc\uac04\")\nplt.ylabel(\"\uc218\uba74 \ub2e8\uacc4\")\nplt.title(\"\uac00\uc0c1\uc758 \uc218\uba74 \ub370\uc774\ud130 \uc2dc\uac01\ud654\")\nplt.legend(loc=\"upper left\", bbox_to_anchor=(1.05, 1))\nplt.grid(axis=\"x\", linestyle=\"--\", alpha=0.3)\nplt.tight_layout()\nplt.show()<\/code><\/pre>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading3964_ea1e09-a8, .wp-block-kadence-advancedheading.kt-adv-heading3964_ea1e09-a8[data-kb-block=\"kb-adv-heading3964_ea1e09-a8\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading3964_ea1e09-a8 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading3964_ea1e09-a8[data-kb-block=\"kb-adv-heading3964_ea1e09-a8\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading3964_ea1e09-a8 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading3964_ea1e09-a8[data-kb-block=\"kb-adv-heading3964_ea1e09-a8\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading3964_ea1e09-a8 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading3964_ea1e09-a8\">\ub77c\uc778\ubcc4 \ucf54\ub4dc \ud574\uc124<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>1. import pandas as pd<strong>, <\/strong>import matplotlib.pyplot as plt<\/p>\n\n\n\n<p>\u2022 \ub370\uc774\ud130 \ucc98\ub9ac\ub97c \uc704\ud55c pandas\uc640 \uc2dc\uac01\ud654\ub97c \uc704\ud55c matplotlib \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.<\/p>\n\n\n\n<p>2. time_range = pd.date_range(start=&#8221;23:00&#8243;, end=&#8221;05:00&#8243;, freq=&#8221;5min&#8221;)<\/p>\n\n\n\n<p>\u2022 pd.date_range\ub97c \uc774\uc6a9\ud558\uc5ec 23:00\ubd80\ud130 05:00\uae4c\uc9c0 5\ubd84 \uac04\uaca9\uc758 \uc2dc\uac04 \ub370\uc774\ud130\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>3. stage_data<strong> \uc815\uc758<\/strong><\/p>\n\n\n\n<p>\u2022 \ud29c\ud50c \ud615\ud0dc\ub85c \uac01 \uc218\uba74 \ub2e8\uacc4\uc640 \ud574\ub2f9 \ub2e8\uacc4\uc758 \uc9c0\uc18d \uc2dc\uac04\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>4. for stage, duration in stage_data<\/p>\n\n\n\n<p>\u2022 \uac01 \uc218\uba74 \ub2e8\uacc4\uc758 \uc9c0\uc18d \uc2dc\uac04\ub9cc\ud07c \ubc18\ubcf5\ud558\uc5ec stages \ub9ac\uc2a4\ud2b8\ub97c \ud655\uc7a5\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>5. sleep_data = pd.DataFrame({&#8220;Time&#8221;: time_range, &#8220;Stage&#8221;: stages})<\/p>\n\n\n\n<p>\u2022 \uc2dc\uac04(Time)\uacfc \uc218\uba74 \ub2e8\uacc4(Stage) \ub370\uc774\ud130\ub97c \uacb0\ud569\ud558\uc5ec \ub370\uc774\ud130\ud504\ub808\uc784\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>6. plt.scatter<strong> \ubc0f <\/strong>plt.yticks<\/p>\n\n\n\n<p>\u2022 \uc218\uba74 \ub2e8\uacc4\ub97c \uc0c9\uc0c1\ubcc4\ub85c \uadf8\ub798\ud504\uc5d0 \ud45c\uc2dc\ud558\uace0, \ub2e8\uacc4\ubcc4 \ub808\uc774\ube14\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>7. plt.legend<strong>, <\/strong>plt.tight_layout()<\/p>\n\n\n\n<p>\u2022 \ubc94\ub840\ub97c \ucd94\uac00\ud558\uace0 \uadf8\ub798\ud504\uc758 \ub808\uc774\uc544\uc6c3\uc744 \uc870\uc815\ud558\uc5ec \uac00\ub3c5\uc131\uc744 \ub192\uc785\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading3964_e9a4f5-7b, .wp-block-kadence-advancedheading.kt-adv-heading3964_e9a4f5-7b[data-kb-block=\"kb-adv-heading3964_e9a4f5-7b\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading3964_e9a4f5-7b mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading3964_e9a4f5-7b[data-kb-block=\"kb-adv-heading3964_e9a4f5-7b\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading3964_e9a4f5-7b img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading3964_e9a4f5-7b[data-kb-block=\"kb-adv-heading3964_e9a4f5-7b\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading3964_e9a4f5-7b wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading3964_e9a4f5-7b\">\uc218\uba74 \ud328\ud134 \ubd84\uc11d \ud30c\uc774\uc36c \uc2dc\uac01\ud654 \uc815\ub9ac\ud558\uae30<\/h2>\n\n\n\n<p>\uc218\uba74 \ud328\ud134 \ubd84\uc11d\uc740 \uc6b0\ub9ac\uc758 \uac74\uac15\uc744 \uc774\ud574\ud558\uace0 \uac1c\uc120\ud558\ub294 \uac15\ub825\ud55c \ub3c4\uad6c\uc785\ub2c8\ub2e4. \ud2b9\ud788, \ud30c\uc774\uc36c\uacfc \uac19\uc740 \uae30\uc220\uc744 \ud65c\uc6a9\ud558\uba74 \ub370\uc774\ud130 \uae30\ubc18\uc73c\ub85c \uc218\uba74\uc758 \uc9c8\uc744 \ud30c\uc545\ud558\uace0 \ud6a8\uacfc\uc801\uc778 \uac1c\uc120 \ubc29\uc548\uc744 \ub3c4\ucd9c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<p>\uc774 \ud3ec\uc2a4\ud2b8\ub97c \ud1b5\ud574 \uc790\uc2e0\uc758 \uc218\uba74 \uc2b5\uad00\uc744 \uc810\uac80\ud558\uace0, \ub354 \ub098\uc740 \uc0b6\uc744 \uc704\ud574 \uac74\uac15\ud55c \uc218\uba74\uc744 \uacc4\ud68d\ud574 \ubcf4\uc138\uc694. \uc544\ucc38! \uadf8\ub9ac\uace0 \uc774 \ud3ec\uc2a4\ud2b8\uc5d0\uc11c \ud65c\uc6a9\ud55c \ud30c\uc774\uc36c \ub9d0\uace0 R\uc744 \uc774\uc6a9\ud55c \uc2dc\uac01\ud654\ub3c4 \ud55c\ubc88 \ud655\uc778\ud574\ubcf4\uc138\uc694. <a href=\"https:\/\/secondlife.lol\/improve-sleep-pattern-python\/\" data-type=\"post\" data-id=\"3967\">\uc218\uba74 \ud328\ud134 \ubc14\uafb8\uae30: \ub370\uc774\ud130 \uae30\ubc18\uc73c\ub85c \uac74\uac15\ud55c \uc218\uba74 \uc2b5\uad00 \ub9cc\ub4e4\uae30(feat. R)<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5728\u5f53\u4eca\u7e41\u5fd9\u7684\u751f\u6d3b\u4e2d\uff0c\u7761\u7720\u8d28\u91cf\u662f\u6211\u4eec\u5065\u5eb7\u7684\u4e00\u4e2a\u91cd\u8981\u65b9\u9762\uff0c\u4e5f\u662f\u5f71\u54cd\u6211\u4eec\u751f\u6d3b\u8d28\u91cf\u7684\u4e00\u4e2a\u91cd\u8981\u56e0\u7d20\u3002<\/p>","protected":false},"author":3,"featured_media":3975,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[3],"tags":[602,177,601,600,450],"class_list":["post-3964","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python-coding","tag-602","tag-177","tag-601","tag-600","tag-450"],"taxonomy_info":{"category":[{"value":3,"label":"\ud30c\uc774\uc36c(Python)"}],"post_tag":[{"value":602,"label":"\uac74\uac15"},{"value":177,"label":"\ub370\uc774\ud130 \ubd84\uc11d"},{"value":601,"label":"\uc218\uba74 \ub370\uc774\ud130"},{"value":600,"label":"\uc218\uba74 \ubd84\uc11d"},{"value":450,"label":"\ud30c\uc774\uc36c \uc2dc\uac01\ud654"}]},"featured_image_src_large":["https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/12\/\uc22b\uc790-\ub2e8\uc704-\uc601\uc5b4\ub85c-\ud3ec\uc2a4\ud2b8-\uc378\ub124\uc77c-600x600.jpg",600,600,true],"author_info":{"display_name":"TERE","author_link":"https:\/\/secondlife.lol\/zh\/author\/tere\/"},"comment_info":0,"category_info":[{"term_id":3,"name":"\ud30c\uc774\uc36c(Python)","slug":"python-coding","term_group":0,"term_taxonomy_id":3,"taxonomy":"category","description":"","parent":20,"count":116,"filter":"raw","cat_ID":3,"category_count":116,"category_description":"","cat_name":"\ud30c\uc774\uc36c(Python)","category_nicename":"python-coding","category_parent":20}],"tag_info":[{"term_id":602,"name":"\uac74\uac15","slug":"%ea%b1%b4%ea%b0%95","term_group":0,"term_taxonomy_id":602,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":177,"name":"\ub370\uc774\ud130 \ubd84\uc11d","slug":"%eb%8d%b0%ec%9d%b4%ed%84%b0-%eb%b6%84%ec%84%9d","term_group":0,"term_taxonomy_id":177,"taxonomy":"post_tag","description":"","parent":0,"count":36,"filter":"raw"},{"term_id":601,"name":"\uc218\uba74 \ub370\uc774\ud130","slug":"%ec%88%98%eb%a9%b4-%eb%8d%b0%ec%9d%b4%ed%84%b0","term_group":0,"term_taxonomy_id":601,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":600,"name":"\uc218\uba74 \ubd84\uc11d","slug":"%ec%88%98%eb%a9%b4-%eb%b6%84%ec%84%9d","term_group":0,"term_taxonomy_id":600,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":450,"name":"\ud30c\uc774\uc36c \uc2dc\uac01\ud654","slug":"%ed%8c%8c%ec%9d%b4%ec%8d%ac-%ec%8b%9c%ea%b0%81%ed%99%94","term_group":0,"term_taxonomy_id":450,"taxonomy":"post_tag","description":"","parent":0,"count":18,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/secondlife.lol\/zh\/wp-json\/wp\/v2\/posts\/3964","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secondlife.lol\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secondlife.lol\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/zh\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/zh\/wp-json\/wp\/v2\/comments?post=3964"}],"version-history":[{"count":9,"href":"https:\/\/secondlife.lol\/zh\/wp-json\/wp\/v2\/posts\/3964\/revisions"}],"predecessor-version":[{"id":3986,"href":"https:\/\/secondlife.lol\/zh\/wp-json\/wp\/v2\/posts\/3964\/revisions\/3986"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/zh\/wp-json\/wp\/v2\/media\/3975"}],"wp:attachment":[{"href":"https:\/\/secondlife.lol\/zh\/wp-json\/wp\/v2\/media?parent=3964"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secondlife.lol\/zh\/wp-json\/wp\/v2\/categories?post=3964"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secondlife.lol\/zh\/wp-json\/wp\/v2\/tags?post=3964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}