{"id":481,"date":"2025-04-03T18:00:09","date_gmt":"2025-04-03T10:00:09","guid":{"rendered":"https:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/"},"modified":"2025-04-03T18:00:09","modified_gmt":"2025-04-03T10:00:09","slug":"%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e","status":"publish","type":"post","link":"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/","title":{"rendered":"\u3010\u5927\u6570\u636e\u5b9e\u8bad\u3011\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\u53ef\u89c6\u5316(\u516b)"},"content":{"rendered":"<div class=\"article_content clearfix\" id=\"article_content\">\n <link href=\"https:\/\/csdnimg.cn\/release\/blogv2\/dist\/mdeditor\/css\/editerView\/kdoc_html_views-1a98987dfd.css\" rel=\"stylesheet\"\/>\n <link href=\"https:\/\/csdnimg.cn\/release\/blogv2\/dist\/mdeditor\/css\/editerView\/ck_htmledit_views-704d5b9767.css\" rel=\"stylesheet\"\/>\n<div class=\"markdown_views prism-atom-one-dark\" id=\"content_views\">\n  <svg style=\"display: none;\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n   <path d=\"M5,0 0,2.5 5,5z\" id=\"raphael-marker-block\" stroke-linecap=\"round\" style=\"-webkit-tap-highlight-color: rgba(0, 0, 0, 0);\">\n   <\/path>\n  <\/svg><\/p>\n<h3>\n   <a id=\"_4\"><br \/>\n   <\/a><br \/>\n   \u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\u53ef\u89c6\u5316<br \/>\n  <\/h3>\n<p>\n   \u4e00\u3001\u5b9e\u9a8c\u73af\u5883\n  <\/p>\n<p>\n   \uff081\uff09Linux\uff1a Ubuntu 16.04<br \/>\n   <br \/>\n   \uff082\uff09Python: 3.5<br \/>\n   <br \/>\n   \uff083\uff09Hadoop\uff1a3.1.3\uff084\uff09Spark: 2.4.0\uff085\uff09Web\u6846\u67b6\uff1aflask 1.0.3<br \/>\n   <br \/>\n   \uff086\uff09\u53ef\u89c6\u5316\u5de5\u5177\uff1aEcharts<br \/>\n   <br \/>\n   \uff087\uff09\u5f00\u53d1\u5de5\u5177\uff1aVisual Studio Code\n  <\/p>\n<p>\n   \u4e8c\u3001\u5c0f\u7ec4\u6210\u5458\u53ca\u5206\u5de5\n  <\/p>\n<p>\n   \uff081\uff09\u6210\u5458\uff1a\u6797\u6d77\u6ee2\uff0c\u738b\u60e0\u73b2\uff0c\u9648\u5609\u6021\uff0c\u90ed\u8bd7\u5ff5\n  <\/p>\n<p>\n   \uff082\uff09\u5206\u5de5\uff1axxx\u8d1f\u8d23xxxx\u90e8\u5206\uff0cxxx\u8d1f\u8d23xxxx\u90e8\u5206\uff0cxxx\u8d1f\u8d23xxxx\u90e8\u5206\u3002\n  <\/p>\n<p>\n   \u4e09\u3001\u6570\u636e\u91c7\u96c6\n  <\/p>\n<p>\n   3.1\u6570\u636e\u96c6\u8bf4\u660e\n  <\/p>\n<p>\n   \u722c\u53d6\u7f51\u7ad9\uff1ahttp:\/\/search.dangdang.com\/?key=java\uff0c\u662f\u5f53\u5f53\u7f51\u7684java\u56fe\u4e66\u7684\u4fe1\u606f\u7f51\u7ad9\u3002\u6570\u636e\u6587\u4ef6\uff1ajava_books.xlsx\u3002\u5176\u4e2d\u5305\u542b\u4e861661\u6761\u4e0ejava\u56fe\u4e66\u4fe1\u606f\u6709\u5173\u7684\u6570\u636e\u3002\n  <\/p>\n<p>\n   \u6570\u636e\u683c\u5f0f\u4e3a\uff1a\n  <\/p>\n<\/p>\n<p>\n   \u56fe 3. 1 \u91c7\u96c6\u6570\u636e\u683c\u5f0f\n  <\/p>\n<p>\n   \u6570\u636e\u4e2d\u5305\u542b\u7684\u5185\u5bb9\u5982\u4e0b\uff1a<br \/>\n   <br \/>\n   \uff081\uff09book_name\uff1a \u56fe\u4e66\u7684\u6807\u9898\n  <\/p>\n<p>\n   \uff082\uff09introduction\uff1a\u56fe\u4e66\u7684\u7b80\u4ecb\n  <\/p>\n<p>\n   \uff083\uff09author\uff1a \u56fe\u4e66\u7684\u4f5c\u8005<br \/>\n   <br \/>\n   \uff084\uff09price\uff1a \u56fe\u4e66\u7684\u4ef7\u683c\uff08\u5143\/\u672c\uff09\n  <\/p>\n<p>\n   \uff085\uff09press\uff1a \u56fe\u4e66\u51fa\u7248\u793e<br \/>\n   <br \/>\n   \uff086\uff09comment\uff1a \u56fe\u4e66\u7684\u8bc4\u8bba\n  <\/p>\n<p>\n   3.2.\u722c\u53d6\u6570\u636e\u96c6\u4ee5\u53ca\u5c06\u5176\u4fdd\u5b58\u5230\u672c\u5730D\u76d8\u6587\u4ef6\u4e2d\u7684\u6d41\u7a0b\n  <\/p>\n<p>\n   \uff081\uff09\u9009\u53d6\u6240\u9700\u8981\u722c\u53d6\u7684\u9875\u9762\u8fdb\u884c\u904d\u5386\u722c\u53d6\n  <\/p>\n<p>\n   \uff082\uff09\u901a\u8fc7\u6b63\u5219\u8868\u8fbe\u5f0f\u6293\u53d6\u6240\u9700\u8981\u7684\u6570\u636e\n  <\/p>\n<p>\n   \uff083\uff09\u5c06\u722c\u53d6\u51fa\u7684\u6570\u636e\u8f6c\u5316\u4e3adataframe\u683c\u5f0f\u5e76\u4fdd\u5b58\u4e3axlsx\u6587\u4ef6\u5b58\u653e\u5728D\u76d8\n  <\/p>\n<p>\n   \u56db\u3001\u6570\u636e\u6e05\u6d17\u4e0e\u9884\u5904\u7406\n  <\/p>\n<p>\n   4.1\u9884\u5904\u7406\u4e2d\u63d0\u53d6\u7684\u6570\u636e\n  <\/p>\n<\/p>\n<p>\n   \u56fe 4.1 \u6570\u636e\u5904\u7406\u524d\u7684\u6570\u636e\u683c\u5f0f\u53ca\u5b58\u5728\u95ee\u9898\u7684\u7279\u5f81\u5217\n  <\/p>\n<p>\n   4.2 \u6e05\u6d17\u9884\u5904\u7406\u540e\u7684\u6570\u636e\u683c\u5f0f\n  <\/p>\n<\/p>\n<p>\n   \u56fe 4.2 \u6570\u636e\u5904\u7406\u540e\u7684\u6570\u636e\u683c\u5f0f\u53ca\u7279\u5f81\u5217\n  <\/p>\n<p>\n   4.3 \u6e05\u6d17\u4e0e\u9884\u5904\u7406\u7684\u6d41\u7a0b\n  <\/p>\n<p>\n   \uff081\uff09\u9996\u5148\u68c0\u67e5\u6570\u636e\u7684\u7ed3\u6784\u4ee5\u53ca\u662f\u5426\u6709\u6570\u636e\u7f3a\u5931\u3002\n  <\/p>\n<p>\n   \uff082\uff09\u53d1\u73b0book_name\u7279\u5f81\u5217\u7684\u6570\u636e\u683c\u5f0f\u4e0d\u5bf9\uff0c\u4e8e\u662f\u5904\u7406\u8f6c\u6362\u4e3a\u4e86\u6574\u6570\u7c7b\u578b\u3002\n  <\/p>\n<p>\n   \uff083\uff09\u53d1\u73b0price\u7279\u5f81\u5217\u7684\u6570\u636e\u683c\u5f0f\u4e0d\u5bf9\uff0c\u4e8e\u662f\u5904\u7406\u8f6c\u6362\u4e3a\u4e86\u6d6e\u70b9\u7c7b\u578b\u3002\n  <\/p>\n<p>\n   \uff084\uff09\u5185\u5bb9\u7b80\u4ecb\u5217\u6570\u636e\u6e05\u6d17 \u5220\u9664\u5f02\u5e38\u503c\u3002\n  <\/p>\n<p>\n   \uff085\uff09\u4fdd\u5b58\u6e05\u6d17\u4e0e\u9884\u5904\u7406\u540e\u7684\u6570\u636e\u96c6\u3002\n  <\/p>\n<p>\n   \u4e94\u3001spark\u6570\u636e\u5206\u6790\n  <\/p>\n<p>\n   5.1 \u6570\u636e\u5206\u6790\u76ee\u6807\n  <\/p>\n<p>\n   \uff081\uff09\u56fe\u4e66\u7684\u552e\u4ef7\u5206\u5e03\u60c5\u51b5\uff08\u89c2\u5bdf\u56fe\u4e66\u4ef7\u683c\u5927\u4f53\u96c6\u4e2d\u5728\u54ea\u4e2a\u5206\u6bb5\u5f97\u51fa\u56fe\u4e66\u4ef7\u683c\u8d8b\u52bf\uff09\n  <\/p>\n<\/p>\n<p>\n   \uff082\uff09\u90e8\u5206\u56fe\u4e66\u51fa\u7248\u793e\u7684\u51fa\u4e66\u6570\u91cf\u7edf\u8ba1\n  <\/p>\n<\/p>\n<p>\n   \uff083\uff09\u56fe\u4e66\u7684\u4f5c\u8005\u51fa\u4e66\uff08\u89c2\u5bdf\u54ea\u4e2a\u4f5c\u8005\u51fa\u7684\u4e66\u6700\u591a\uff09\n  <\/p>\n<p>\n   \uff084\uff09\u56fe\u4e66\u7684\u8bc4\u8bba\u5206\u5e03\u60c5\u51b5\uff08\u89c2\u5bdf\u56fe\u4e66\u8bc4\u8bba\u5927\u4f53\u96c6\u4e2d\u5728\u54ea\u4e2a\u5206\u6bb5\u5f97\u51fa\u56fe\u4e66\u8bc4\u8bba\u8d8b\u52bf\uff09\n  <\/p>\n<\/p>\n<p>\n   \uff085\uff09\u56fe\u4e66\u7684\u90e8\u5206\u4f5c\u8005\u6570\u91cf\u7edf\u8ba1\n  <\/p>\n<\/p>\n<p>\n   \uff086\uff09\u5206\u6790\u4ef7\u683c\u7684\u6700\u5927\u503c\u3001\u6700\u5c0f\u503c\u3001\u5747\u503c\u3001\u65b9\u5dee\u548c\u4e2d\u4f4d\u6570\n  <\/p>\n<\/p>\n<p>\n   \u516d\u3001\u6570\u636e\u53ef\u89c6\u5316\n  <\/p>\n<p>\n   \u672c\u5b9e\u9a8c\u7684\u53ef\u89c6\u5316\u57fa\u4e8emutplotlib\u5b9e\u73b0\u3002\n  <\/p>\n<p>\n   6.1.\u53ef\u89c6\u5316\u73af\u5883\n  <\/p>\n<p>\n   \u5229\u7528\u548canaconda\u91cc\u9762\u7684jubiter\u548cvscode\u8fdb\u884c\u53ef\u89c6\u5316\u64cd\u4f5c\uff0c\u6700\u540e\u7684\u4ee3\u7801\u7ed3\u6784\u5982\u4e0b\u3002\n  <\/p>\n<p>\n   6.2 \u56fe\u8868\u5c55\u793a\u4e0e\u7ed3\u8bba\u5206\u6790\n  <\/p>\n<p>\n   \uff081\uff09\u56fe\u4e66\u7684\u552e\u4ef7\u5206\u5e03\u60c5\u51b5\uff08\u89c2\u5bdf\u56fe\u4e66\u4ef7\u683c\u5927\u4f53\u96c6\u4e2d\u5728\u54ea\u4e2a\u5206\u6bb5\u5f97\u51fa\u56fe\u4e66\u4ef7\u683c\u8d8b\u52bf\uff09\n  <\/p>\n<\/p>\n<p>\n   \u56fe6.2.1\u56fe\u4e66\u7684\u552e\u4ef7\u5206\u5e03\u60c5\u51b5\n  <\/p>\n<p>\n   \u5206\u6790\u7ed3\u8bba\uff1a\u901a\u8fc7\u8fd9\u4e2a\u67f1\u72b6\u56fe\u53ef\u4ee5\u770b\u51fa\u56fe\u4e66\u552e\u5356\u4ef7\u683c\u96c6\u4e2d\u572820<br \/>\n   <sub><br \/>\n    60\u8fd9\u91cc\u3002\u8bf4\u660e\u4e86\u5927\u591a\u6570\u4eba\u8d2d\u4e66\u503e\u5411\u4e8e\u4e2d\u7aef\u4ef7\u683c\u3002\u6bd4\u598220<br \/>\n   <\/sub><br \/>\n   40\u8fd9\u91cc\uff0c\u552e\u4ef7\u6bd4\u8f83\u4fbf\u5b9c\u56fe\u4e66\u7684\u9500\u91cf\u5c31\u4f1a\u591a\u3002\u800c60<br \/>\n   <sub><br \/>\n    80\u8fd9\u91cc\u7684\u4ef7\u683c\u4e0a\u5347\u4e86\u8d2d\u4e70\u7684\u4eba\u5c31\u76f8\u5bf9\u5c11\u4e86\uff0c\u9500\u91cf\u4e5f\u968f\u4e4b\u51cf\u5c11\u3002\u6211\u4eec\u4e5f\u53ef\u4ee5\u4ece\u4e2d\u5f97\u51fa20<br \/>\n   <\/sub><br \/>\n   60\u7684\u9500\u91cf\u67091841\uff0c\u800c20\u4e00\u4e0b\u548c60\u4ee5\u4e0a\u7684\u9500\u91cf\u67091159\u3002\u6240\u4ee5\u5927\u80c6\u63a8\u6d4b\u51fa\u6211\u56fd\u4e2d\u5c42\u6536\u5165\u4eba\u6570\u662f\u4f4e\u9ad8\u5c42\u6536\u5165\u4eba\u6570\u76841.6\u500d\u5de6\u53f3\u3002\n  <\/p>\n<p>\n   \uff082\uff09\u90e8\u5206\u56fe\u4e66\u51fa\u7248\u793e\u7684\u51fa\u4e66\u6570\u91cf\u7edf\u8ba1\n  <\/p>\n<\/p>\n<p>\n   \u56fe6.2.2\u90e8\u5206\u56fe\u4e66\u51fa\u7248\u793e\u7684\u51fa\u4e66\u6570\u91cf\u7edf\u8ba1\n  <\/p>\n<p>\n   \uff083\uff09\u56fe\u4e66\u7684\u4f5c\u8005\u51fa\u4e66\uff08\u89c2\u5bdf\u54ea\u4e2a\u4f5c\u8005\u51fa\u7684\u4e66\u6700\u591a\uff09\n  <\/p>\n<p>\n   \uff084\uff09\u56fe\u4e66\u7684\u8bc4\u8bba\u5206\u5e03\u60c5\u51b5\uff08\u89c2\u5bdf\u56fe\u4e66\u8bc4\u8bba\u5927\u4f53\u96c6\u4e2d\u5728\u54ea\u4e2a\u5206\u6bb5\u5f97\u51fa\u56fe\u4e66\u8bc4\u8bba\u8d8b\u52bf\uff09\n  <\/p>\n<\/p>\n<p>\n   \u56fe6.2.4\u56fe\u4e66\u7684\u8bc4\u8bba\u5206\u5e03\u60c5\u51b5\n  <\/p>\n<p>\n   \u5206\u6790\u7ed3\u8bba\uff1a\u901a\u8fc7\u8fd9\u4e2a\u56fe\u6211\u4eec\u53ef\u4ee5\u770b\u51fa92%\u7684\u56fe\u4e66\u8bc4\u8bba\u90fd\u662f\u57280~100\u4e4b\u95f4\u3002\u4e5f\u5c31\u662f\u8bf492%\u7684\u4eba\u4e0d\u7231\u5bf9\u56fe\u4e66\u505a\u51fa\u8bc4\u8bba\uff0c\u5176\u4f59\u5c11\u90e8\u5206\u4eba\u4f1a\u5bf9\u56fe\u4e66\u505a\u51fa\u8bc4\u8bba\u3002\u6240\u4ee5\u6211\u4eec\u53ef\u4ee5\u5927\u80c6\u63a8\u6d4b\u73b0\u5728\u5927\u591a\u6570\u4eba\u90fd\u4e0d\u7231\u5bf9\u770b\u8fc7\u7684\u4e66\u53d1\u5e03\u4e4b\u95f4\u7684\u770b\u6cd5\u3002\n  <\/p>\n<p>\n   \uff085\uff09\u56fe\u4e66\u7684\u90e8\u5206\u4f5c\u8005\u6570\u91cf\u7edf\u8ba1\u8fdb\u884c\u6570\u636e\u53ef\u89c6\u5316\u56fe\u8868\u5206\u6790\n  <\/p>\n<\/p>\n<p>\n   \u56fe6.2.5\u90e8\u5206\u4f5c\u8005\u6570\u91cf\u7edf\u8ba1\n  <\/p>\n<p>\n   \u5206\u6790\u7ed3\u8bba\uff1a\u901a\u8fc7\u8fd9\u4e2a\u56fe\u6211\u4eec\u53ef\u4ee5\u770b\u51fa\u6211\u4eec\u627e\u51fa\u6765\u7684\u90e8\u5206\u4f5c\u800554%\u5de6\u53f3\u7684\u4f5c\u8005\u5199\u7684\u4e66\u90fd\u572865\u672c\u4ee5\u4e0b\uff08\u8fd9\u5c31\u4e0e\u7b2c\u4e94\u90e8\u5206\u7684\u6570\u636e\u5206\u6790\u76f8\u5bf9\u5e94\uff09\uff0c\u4e5f\u4fa7\u9762\u8bf4\u660e\u4e86\u8fd9\u4e2a\u6570\u636e\u91cc\u976250%\u5de6\u53f3\u7684\u4f5c\u8005\u5199\u7684java\u7684\u4e66\u4e0d\u591a\u537350%\u4ee5\u4e0b\u7684\u4f5c\u8005\u53ef\u80fd\u4e0d\u662f\u4e13\u95e8\u505ajava\u8fd9\u4e2a\u9886\u57df\u7684\uff0c\u53ef\u80fd\u8fd8\u5305\u62ec\u522b\u7684\u9886\u57df\uff0c\u5927\u591a\u6570\u5173\u4e8ejava\u7684\u56fe\u4e66\u90fd\u662f\u4e13\u653b\u8fd9\u4e2a\u4e13\u4e1a\u7684\u7ec4\u7ec7\u548c\u4f5c\u8005\u5199\u7684\u3002\n  <\/p>\n<p>\n   \uff085\uff09\u5206\u6790\u4ef7\u683c\u7684\u6700\u5927\u503c\u3001\u6700\u5c0f\u503c\u3001\u5747\u503c\u3001\u65b9\u5dee\u548c\u4e2d\u4f4d\u6570\n  <\/p>\n<\/p>\n<p>\n   \u56fe6.2.6\u5206\u6790\u4ef7\u683c\u7684\u6700\u5927\u503c\u3001\u6700\u5c0f\u503c\u3001\u5747\u503c\u3001\u65b9\u5dee\u548c\u4e2d\u4f4d\u6570\n  <\/p>\n<p>\n   \u5206\u6790\u7ed3\u8bba\uff1a\u901a\u8fc7\u8fd9\u4e2a\u56fe\u6211\u4eec\u53ef\u4ee5\u770b\u51fa\u56fe\u4e66\u4ef7\u683c\u7684\u4e2d\u4f4d\u6570\u548c\u5747\u503c\u572855\u5757\u94b1\u5de6\u53f3\uff0c\u65b9\u5dee\u572850\u5de6\u53f3\uff0c\u8bc1\u660e\u4e86\u56fe\u4e66\u7684\u4ef7\u683c\u6ce2\u52a8\u4e0d\u662f\u5f88\u5927\uff0c\u4ece\u6700\u5927\u503c\u3001\u6700\u5c0f\u503c\u4e2d\u53ef\u4ee5\u770b\u51fa\u6700\u4fbf\u5b9c\u7684\u56fe\u4e66\u662f10\u5143\u5de6\u53f3\uff0c\u6700\u8d35\u7684\u56fe\u4e66\u662f120\u5143\u5de6\u53f3\uff0c\u6240\u4ee5\u8868\u660e\u4e86\u4e70\u4e00\u672cjava\u56fe\u4e66\u603b\u4f53\u7684\u5747\u4ef7\u4e3a55\u5143\u5de6\u53f3\u3002\n  <\/p>\n<h3>\n   <a id=\"_178\"><br \/>\n   <\/a><br \/>\n   \u4ee3\u7801\u90e8\u5206\uff1a<br \/>\n  <\/h3>\n<p>\n   \u9644\u5f55A\uff08\u4ee3\u7801\uff09\uff1a\n  <\/p>\n<pre><code class=\"prism language-bash\"><span class=\"token comment\">#\u6e05\u6d17\u4ee3\u7801\uff1a<\/span>\n<span class=\"token comment\"># coding=utf-8<\/span>\n<span class=\"token comment\"># \u6570\u636e\u6e05\u6d17<\/span>\n<span class=\"token function\">import<\/span> os\n<span class=\"token function\">import<\/span> numpy as np\n<span class=\"token function\">import<\/span> pandas as pd\n<span class=\"token function\">import<\/span> csv\n<span class=\"token function\">df<\/span> <span class=\"token operator\">=<\/span> pd.read_csv<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"java_books.csv\"<\/span><span class=\"token punctuation\">)<\/span>\n\ndf<span class=\"token punctuation\">[<\/span><span class=\"token string\">'book_name'<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span>df<span class=\"token punctuation\">[<\/span><span class=\"token string\">'book_name'<\/span><span class=\"token punctuation\">]<\/span>.str.strip<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token comment\">#\u53bb\u6389book_name\u5217\u6240\u6709\u503c\u524d\u540e\u7684\u7a7a\u683c<\/span>\ndf<span class=\"token punctuation\">[<\/span><span class=\"token string\">'author'<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span>df<span class=\"token punctuation\">[<\/span><span class=\"token string\">'author'<\/span><span class=\"token punctuation\">]<\/span>.str.strip<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token comment\">#\u53bb\u6389price\u5217\u6240\u6709\u503c\u524d\u540e\u7684\u7a7a\u683c<\/span>\ndf<span class=\"token punctuation\">[<\/span><span class=\"token string\">'introduction'<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span>df<span class=\"token punctuation\">[<\/span><span class=\"token string\">'introduction'<\/span><span class=\"token punctuation\">]<\/span>.astype<span class=\"token punctuation\">(<\/span>str<span class=\"token punctuation\">)<\/span><span class=\"token comment\">#\u628abook_name\u5217\u6240\u6709\u503c\u8f6c\u5316\u4e3a\u5b57\u7b26\u4e32\u7c7b\u578b<\/span>\ndf.dropna<span class=\"token punctuation\">(<\/span>axis<span class=\"token operator\">=<\/span><span class=\"token number\">0<\/span>,how<span class=\"token operator\">=<\/span><span class=\"token string\">'any'<\/span>,thresh<span class=\"token operator\">=<\/span>None,subset<span class=\"token operator\">=<\/span>None,inplace<span class=\"token operator\">=<\/span>True<span class=\"token punctuation\">)<\/span>\ndf<span class=\"token punctuation\">[<\/span><span class=\"token string\">'price'<\/span><span class=\"token punctuation\">]<\/span>.astype<span class=\"token punctuation\">(<\/span>float<span class=\"token punctuation\">)<\/span>\n<span class=\"token comment\"># \u5185\u5bb9\u7b80\u4ecb\u5217\u6570\u636e\u6e05\u6d17 \u5220\u9664\u5f02\u5e38\u503c<\/span>\ndf.drop<span class=\"token punctuation\">(<\/span>df<span class=\"token punctuation\">[<\/span>df<span class=\"token punctuation\">[<\/span><span class=\"token string\">'introduction'<\/span><span class=\"token punctuation\">]<\/span>.str.contains<span class=\"token punctuation\">(<\/span><span class=\"token string\">'\u5185\u5bb9\u7b80\u4ecb'<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span>.index,inplace<span class=\"token operator\">=<\/span>True<span class=\"token punctuation\">)<\/span>\n<span class=\"token comment\"># \u8f93\u51fa\u6e05\u7406\u5b8c\u7684\u6587\u4ef6<\/span>\ndf.to_csv<span class=\"token punctuation\">(<\/span>r<span class=\"token string\">'D:\/data\/clean_ganji_rent1.csv'<\/span>,encoding<span class=\"token operator\">=<\/span><span class=\"token string\">'utf-8'<\/span>,index<span class=\"token operator\">=<\/span>False<span class=\"token punctuation\">)<\/span>\n\n\u5904\u7406\u4ee3\u7801+spark\u5206\u6790\u4ee3\u7801:\n\uff081\uff09\u56fe\u4e66\u7684\u552e\u4ef7\u5206\u5e03\u60c5\u51b5\uff08\u89c2\u5bdf\u56fe\u4e66\u4ef7\u683c\u5927\u4f53\u96c6\u4e2d\u5728\u54ea\u4e2a\u5206\u6bb5\u5f97\u51fa\u56fe\u4e66\u4ef7\u683c\u8d8b\u52bf\uff09\n<span class=\"token function\">import<\/span> os\nos.environ<span class=\"token punctuation\">[<\/span><span class=\"token string\">\"JAVA_HOME\"<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span><span class=\"token string\">\"\/usr\/lib\/jvm\/jdk1.8.0_162\"<\/span>\nos.environ<span class=\"token punctuation\">[<\/span><span class=\"token string\">\"PYSPARK_PYTHON\"<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span><span class=\"token string\">\"\/usr\/bin\/python3.5\"<\/span>\n\nfrom pyspark.sql <span class=\"token function\">import<\/span> SparkSession\n<span class=\"token function\">import<\/span> pandas as pd\n\nxlsx <span class=\"token operator\">=<\/span> <span class=\"token string\">'\/home\/guosn\/data\/java_books.xlsx'<\/span>\ncsv <span class=\"token operator\">=<\/span> <span class=\"token string\">'\/home\/guosn\/data\/java_books.csv'<\/span>\n\n\ndef save_xlsx_to_text<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>:\n    <span class=\"token string\">\"\"<\/span>\"\n    \u4f7f\u7528pandas\u5c06xlsx\u6587\u4ef6\u8f6c\u6362\u4e3acsv\u6587\u4ef6\n    \u4f9bspark\u8bfb\u53d6\n    <span class=\"token string\">\"\"<\/span>\"\n    <span class=\"token function\">df<\/span> <span class=\"token operator\">=<\/span> pd.read_excel<span class=\"token punctuation\">(<\/span>xlsx<span class=\"token punctuation\">)<\/span>\n    df.to_csv<span class=\"token punctuation\">(<\/span>csv,index<span class=\"token operator\">=<\/span>False<span class=\"token punctuation\">)<\/span>\n\n\n\ndef price_distribution<span class=\"token punctuation\">(<\/span>spark<span class=\"token punctuation\">)<\/span>:\n    <span class=\"token string\">\"\"<\/span>\"\u8ba1\u7b97\u4ef7\u683c\u533a\u95f4\u5206\u5e03<span class=\"token string\">\"\"<\/span>\"\n    <span class=\"token function\">df<\/span> <span class=\"token operator\">=<\/span> spark.read.csv<span class=\"token punctuation\">(<\/span>csv,header<span class=\"token operator\">=<\/span>True<span class=\"token punctuation\">)<\/span>\n    df.printSchema<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n    df.createOrReplaceTempView<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"books\"<\/span><span class=\"token punctuation\">)<\/span>\n\n    <span class=\"token comment\"># \u4e3a\u6bcf\u6761\u6570\u636e\u6253\u4e0a\u6240\u5c5e\u4ef7\u683c\u533a\u95f4\u6807\u8bc6<\/span>\n    price_sql <span class=\"token operator\">=<\/span> <span class=\"token string\">\"\"<\/span>\"\n    <span class=\"token keyword\">select<\/span> \n        <span class=\"token keyword\">case<\/span>  \n        when <span class=\"token punctuation\">(<\/span>price <span class=\"token operator\">&lt;<\/span> <span class=\"token number\">20.0<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'0-20'<\/span>\n        when <span class=\"token punctuation\">(<\/span>price <span class=\"token operator\">&gt;=<\/span><span class=\"token number\">20.0<\/span><span class=\"token punctuation\">)<\/span> and <span class=\"token punctuation\">(<\/span>price <span class=\"token operator\">&lt;<\/span> <span class=\"token number\">40.0<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'20-40'<\/span>\n        when <span class=\"token punctuation\">(<\/span>price <span class=\"token operator\">&gt;=<\/span><span class=\"token number\">40.0<\/span><span class=\"token punctuation\">)<\/span> and price <span class=\"token operator\">&lt;<\/span><span class=\"token number\">60.0<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'40-60'<\/span>\n        when price <span class=\"token operator\">&gt;=<\/span><span class=\"token number\">60.0<\/span> and price <span class=\"token operator\">&lt;<\/span><span class=\"token number\">80.0<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'60-80'<\/span>\n        when price <span class=\"token operator\">&gt;=<\/span><span class=\"token number\">80.0<\/span> and price <span class=\"token operator\">&lt;<\/span><span class=\"token number\">100.0<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'80-100'<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token string\">'greater than 100'<\/span>\n        end as price_range,\n        books.*\n    from books   \n    <span class=\"token string\">\"\"<\/span>\"\n\n    price_result <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span>price_sql<span class=\"token punctuation\">)<\/span>\n    price_result.createOrReplaceTempView<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"price_results\"<\/span><span class=\"token punctuation\">)<\/span>\n\n    price_result.show<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n\n    <span class=\"token comment\"># \u6309\u7167\u4ef7\u683c\u533a\u95f4\u8fdb\u884c\u5206\u7ec4\uff0c\u8ba1\u7b97\u5404\u7ec4\u5185\u6570\u636e\u603b\u6570<\/span>\n    group_price_sql <span class=\"token operator\">=<\/span> <span class=\"token string\">'select price_range, count(*) from price_results group by price_range'<\/span>\n    group_price_results <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span>group_price_sql<span class=\"token punctuation\">)<\/span>\n\n    group_price_results.show<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n\n\ndef comment_distribution<span class=\"token punctuation\">(<\/span>spark<span class=\"token punctuation\">)<\/span>:\n    <span class=\"token string\">\"\"<\/span>\"\u8ba1\u7b97\u4ef7\u683c\u533a\u95f4\u5206\u5e03<span class=\"token string\">\"\"<\/span>\"\n    <span class=\"token function\">df<\/span> <span class=\"token operator\">=<\/span> spark.read.csv<span class=\"token punctuation\">(<\/span>csv,header<span class=\"token operator\">=<\/span>True<span class=\"token punctuation\">)<\/span>\n    df.printSchema<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n    df.createOrReplaceTempView<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"books\"<\/span><span class=\"token punctuation\">)<\/span>\n\n    <span class=\"token comment\"># \u4e3a\u6bcf\u6761\u6570\u636e\u6253\u4e0a\u6240\u5c5e\u4ef7\u683c\u533a\u95f4\u6807\u8bc6<\/span>\n    comment_sql <span class=\"token operator\">=<\/span> <span class=\"token string\">\"\"<\/span>\"\n    <span class=\"token keyword\">select<\/span> \n        <span class=\"token keyword\">case<\/span>  \n        when <span class=\"token punctuation\">(<\/span>comment <span class=\"token operator\">&lt;<\/span> <span class=\"token number\">100<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'0-100'<\/span>\n        when <span class=\"token punctuation\">(<\/span>comment <span class=\"token operator\">&gt;=<\/span><span class=\"token number\">100<\/span><span class=\"token punctuation\">)<\/span> and <span class=\"token punctuation\">(<\/span>comment <span class=\"token operator\">&lt;<\/span> <span class=\"token number\">200.0<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'100-200'<\/span>\n        when <span class=\"token punctuation\">(<\/span>comment <span class=\"token operator\">&gt;=<\/span><span class=\"token number\">200<\/span><span class=\"token punctuation\">)<\/span> and <span class=\"token punctuation\">(<\/span>comment <span class=\"token operator\">&lt;<\/span><span class=\"token number\">400<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'200-400'<\/span>\n        when <span class=\"token punctuation\">(<\/span>comment <span class=\"token operator\">&gt;=<\/span><span class=\"token number\">400<\/span><span class=\"token punctuation\">)<\/span> and <span class=\"token punctuation\">(<\/span>comment <span class=\"token operator\">&lt;<\/span><span class=\"token number\">600<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'400-600'<\/span>\n        when comment <span class=\"token operator\">&gt;=<\/span><span class=\"token number\">600<\/span> and comment <span class=\"token operator\">&lt;<\/span><span class=\"token number\">800<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'600-800'<\/span>\n        when comment <span class=\"token operator\">&gt;=<\/span><span class=\"token number\">800<\/span> and comment <span class=\"token operator\">&lt;<\/span><span class=\"token number\">1000<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'800-1000'<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token string\">'greater than 10000'<\/span>\n        end as comment_range,\n        books.*\n    from books   \n    <span class=\"token string\">\"\"<\/span>\"\n\n    comment_result <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span>comment_sql<span class=\"token punctuation\">)<\/span>\n    comment_result.createOrReplaceTempView<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"comment_results\"<\/span><span class=\"token punctuation\">)<\/span>\n    comment_result.show<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n\n    <span class=\"token comment\"># \u6309\u7167\u4ef7\u683c\u533a\u95f4\u8fdb\u884c\u5206\u7ec4\uff0c\u8ba1\u7b97\u5404\u7ec4\u5185\u6570\u636e\u603b\u6570<\/span>\n    group_comment_sql <span class=\"token operator\">=<\/span> <span class=\"token string\">'select comment_range, count(*) from comment_results group by comment_range'<\/span>\n    group_comment_results <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span>group_comment_sql<span class=\"token punctuation\">)<\/span>\n    group_comment_results.show<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n\n<span class=\"token keyword\">if<\/span> __name__ <span class=\"token operator\">==<\/span> <span class=\"token string\">'__main__'<\/span><span class=\"token builtin class-name\">:<\/span>\n    sc <span class=\"token operator\">=<\/span> SparkSession.builder.appName<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"Python Spark SQL basic example\"<\/span><span class=\"token punctuation\">)<\/span>.master<span class=\"token punctuation\">(<\/span><span class=\"token string\">'local'<\/span><span class=\"token punctuation\">)<\/span> .getOrCreate<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n    <span class=\"token comment\"># \u5177\u4f53\u6267\u884c\u65b9\u6cd5<\/span>\n    save_xlsx_to_text<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n    price_distribution<span class=\"token punctuation\">(<\/span>sc<span class=\"token punctuation\">)<\/span>\n    comment_distribution<span class=\"token punctuation\">(<\/span>sc<span class=\"token punctuation\">)<\/span>\n\n    sc.stop<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n\uff082\uff09\u90e8\u5206\u56fe\u4e66\u51fa\u7248\u793e\u7684\u51fa\u4e66\u6570\u91cf\u7edf\u8ba1\n<span class=\"token function\">import<\/span> os\nos.environ<span class=\"token punctuation\">[<\/span><span class=\"token string\">\"JAVA_HOME\"<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span><span class=\"token string\">\"\/usr\/lib\/jvm\/jdk1.8.0_162\"<\/span>\nos.environ<span class=\"token punctuation\">[<\/span><span class=\"token string\">\"PYSPARK_PYTHON\"<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span><span class=\"token string\">'\/usr\/bin\/python3.5'<\/span>\n\nfrom pyspark <span class=\"token function\">import<\/span> SparkConf,SparkContext\nfrom pyspark.sql.session <span class=\"token function\">import<\/span> SparkSession\nfrom pyspark <span class=\"token function\">import<\/span> SparkContext\nfrom pyspark.sql.types <span class=\"token function\">import<\/span> Row\n<span class=\"token function\">import<\/span> pandas as pd\n<span class=\"token function\">import<\/span> numpy as np\n\n<span class=\"token comment\">#<\/span>\nxlsx <span class=\"token operator\">=<\/span> <span class=\"token string\">'\/home\/hadoop\/data\/java_books.xlsx'<\/span>\ncsv <span class=\"token operator\">=<\/span> <span class=\"token string\">'\/home\/hadoop\/data\/java_books.csv'<\/span>\n\n\ndef save_xlsx_to_text<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>:\n    <span class=\"token string\">\"\"<\/span>\"\n    \u4f7f\u7528pandas\u5c06xlsx\u6587\u4ef6\u8f6c\u6362\u4e3acsv\u6587\u4ef6\n    \u4f9bspark\u8bfb\u53d6\n    <span class=\"token string\">\"\"<\/span>\"\n    <span class=\"token function\">df<\/span> <span class=\"token operator\">=<\/span> pd.read_excel<span class=\"token punctuation\">(<\/span>xlsx<span class=\"token punctuation\">)<\/span>\n    df.to_csv<span class=\"token punctuation\">(<\/span>csv,index<span class=\"token operator\">=<\/span>False<span class=\"token punctuation\">)<\/span>\n\n\n<span class=\"token keyword\">if<\/span> <span class=\"token assign-left variable\">__name__<\/span><span class=\"token operator\">==<\/span><span class=\"token string\">'__main__'<\/span><span class=\"token builtin class-name\">:<\/span>\n    conf <span class=\"token operator\">=<\/span> SparkConf<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>.setAppName<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"IpSearch\"<\/span><span class=\"token punctuation\">)<\/span>.setMaster<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"local[2]\"<\/span><span class=\"token punctuation\">)<\/span>\n    sc <span class=\"token operator\">=<\/span> SparkContext.getOrCreate<span class=\"token punctuation\">(<\/span>conf<span class=\"token punctuation\">)<\/span>\n    spark <span class=\"token operator\">=<\/span> SparkSession.builder.getOrCreate<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n    sc.setLogLevel<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"WARN\"<\/span><span class=\"token punctuation\">)<\/span>\n\n    <span class=\"token comment\"># data = spark.read.csv(csv, header=True)<\/span>\n    <span class=\"token assign-left variable\">data<\/span><span class=\"token operator\">=<\/span>sc.textFile<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"file:\/\/\/home\/hadoop\/data\/java_books .csv\"<\/span><span class=\"token punctuation\">)<\/span>\n    <span class=\"token assign-left variable\">data<\/span><span class=\"token operator\">=<\/span>data.map<span class=\"token punctuation\">(<\/span>lambda line: line.split<span class=\"token punctuation\">(<\/span><span class=\"token string\">\",\"<\/span><span class=\"token punctuation\">))<\/span>\n    <span class=\"token assign-left variable\">datardd<\/span><span class=\"token operator\">=<\/span>data.map<span class=\"token punctuation\">(<\/span>lambda local:Row<span class=\"token punctuation\">(<\/span>press<span class=\"token operator\">=<\/span>local<span class=\"token punctuation\">[<\/span><span class=\"token number\">4<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">))<\/span>\n    print<span class=\"token punctuation\">(<\/span>datardd.take<span class=\"token punctuation\">(<\/span><span class=\"token number\">3<\/span><span class=\"token punctuation\">))<\/span>\n    zhaopin <span class=\"token operator\">=<\/span> spark.createDataFrame<span class=\"token punctuation\">(<\/span>datardd<span class=\"token punctuation\">)<\/span>\n    zhaopin.createOrReplaceTempView<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"zhaopin\"<\/span><span class=\"token punctuation\">)<\/span>\n\n    <span class=\"token comment\"># datardd = sc.textFile(\"file:\/\/\/home\/hadoop\/data\/employee.txt\")<\/span>\n    <span class=\"token comment\"># employee = spark.createDataFrame(datardd)<\/span>\n    <span class=\"token comment\"># employee.createOrReplaceTempView(\"employee\")<\/span>\n    <span class=\"token comment\"># loc = spark.sql(\"select count(*) as count from employee group by location order by count desc\")<\/span>\n\n    siming <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"select count(*) as simingcount from (select press from zhaopin where press Like '%\u673a\u68b0\u5de5\u4e1a%' )\"<\/span><span class=\"token punctuation\">)<\/span>\n    print<span class=\"token punctuation\">(<\/span>siming.rdd.map<span class=\"token punctuation\">(<\/span>lambda p: <span class=\"token string\">'\u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e:'<\/span> + str<span class=\"token punctuation\">(<\/span>p.simingcount<span class=\"token punctuation\">))<\/span>.collect<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">))<\/span>\n    jimei <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"select count(*) as jimei from (select press from zhaopin where press like '%\u6e05\u534e\u5927\u5b66%' )\"<\/span><span class=\"token punctuation\">)<\/span>\n    print<span class=\"token punctuation\">(<\/span>jimei.rdd.map<span class=\"token punctuation\">(<\/span>lambda p: <span class=\"token string\">'\u6e05\u534e\u5927\u5b66\u51fa\u7248\u793e:'<\/span> + str<span class=\"token punctuation\">(<\/span>p.jimei<span class=\"token punctuation\">))<\/span>.collect<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">))<\/span>\n    huli <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"select count(*) as huli from (select press from zhaopin where press like '%\u7535\u5b50\u5de5\u4e1a%')\"<\/span><span class=\"token punctuation\">)<\/span>\n    print<span class=\"token punctuation\">(<\/span>huli.rdd.map<span class=\"token punctuation\">(<\/span>lambda p: <span class=\"token string\">'\u7535\u5b50\u5de5\u4e1a\u51fa\u7248\u793e:'<\/span> + str<span class=\"token punctuation\">(<\/span>p.huli<span class=\"token punctuation\">))<\/span>.collect<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">))<\/span>\n    haicang <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"select count(*) as haicang from (select press from zhaopin where press like '%\u4e2d\u56fd\u94c1\u9053%' )\"<\/span><span class=\"token punctuation\">)<\/span>\n    print<span class=\"token punctuation\">(<\/span>haicang.rdd.map<span class=\"token punctuation\">(<\/span>lambda p: <span class=\"token string\">'\u4e2d\u56fd\u94c1\u9053\u51fa\u7248\u793e:'<\/span> + str<span class=\"token punctuation\">(<\/span>p.haicang<span class=\"token punctuation\">))<\/span>.collect<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">))<\/span>\n    tongan <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"select count(*) as tongan from (select press from zhaopin where press like '%\u4eba\u6c11\u90ae\u7535%')\"<\/span><span class=\"token punctuation\">)<\/span>\n    print<span class=\"token punctuation\">(<\/span>tongan.rdd.map<span class=\"token punctuation\">(<\/span>lambda p: <span class=\"token string\">'\u4eba\u6c11\u90ae\u7535\u51fa\u7248\u793e:'<\/span> + str<span class=\"token punctuation\">(<\/span>p.tongan<span class=\"token punctuation\">))<\/span>.collect<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">))<\/span>\n    xiangan <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"select count(*) as xiangan from (select press from zhaopin where press like '%\u4e1c\u5357\u5927\u5b66%')\"<\/span><span class=\"token punctuation\">)<\/span>\n    print<span class=\"token punctuation\">(<\/span>xiangan.rdd.map<span class=\"token punctuation\">(<\/span>lambda p: <span class=\"token string\">'\u4e1c\u5357\u5927\u5b66\u51fa\u7248\u793e:'<\/span> + str<span class=\"token punctuation\">(<\/span>p.xiangan<span class=\"token punctuation\">))<\/span>.collect<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">))<\/span>\n\uff083\uff09\u56fe\u4e66\u7684\u4f5c\u8005\u51fa\u4e66\uff08\u89c2\u5bdf\u54ea\u4e2a\u4f5c\u8005\u51fa\u7684\u4e66\u6700\u591a\uff09\n\n\uff084\uff09\u56fe\u4e66\u7684\u8bc4\u8bba\u5206\u5e03\u60c5\u51b5\uff08\u89c2\u5bdf\u56fe\u4e66\u8bc4\u8bba\u5927\u4f53\u96c6\u4e2d\u5728\u54ea\u4e2a\u5206\u6bb5\u5f97\u51fa\u56fe\u4e66\u8bc4\u8bba\u8d8b\u52bf\uff09\ndef comment_distribution<span class=\"token punctuation\">(<\/span>spark<span class=\"token punctuation\">)<\/span>:\n    <span class=\"token string\">\"\"<\/span>\"\u8ba1\u7b97\u4ef7\u683c\u533a\u95f4\u5206\u5e03<span class=\"token string\">\"\"<\/span>\"\n    <span class=\"token function\">df<\/span> <span class=\"token operator\">=<\/span> spark.read.csv<span class=\"token punctuation\">(<\/span>csv,header<span class=\"token operator\">=<\/span>True<span class=\"token punctuation\">)<\/span>\n    df.printSchema<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n    df.createOrReplaceTempView<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"books\"<\/span><span class=\"token punctuation\">)<\/span>\n\n    <span class=\"token comment\"># \u4e3a\u6bcf\u6761\u6570\u636e\u6253\u4e0a\u6240\u5c5e\u4ef7\u683c\u533a\u95f4\u6807\u8bc6<\/span>\n    comment_sql <span class=\"token operator\">=<\/span> <span class=\"token string\">\"\"<\/span>\"\n    <span class=\"token keyword\">select<\/span> \n        <span class=\"token keyword\">case<\/span>  \n        when <span class=\"token punctuation\">(<\/span>comment <span class=\"token operator\">&lt;<\/span> <span class=\"token number\">100<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'0-100'<\/span>\n        when <span class=\"token punctuation\">(<\/span>comment <span class=\"token operator\">&gt;=<\/span><span class=\"token number\">100<\/span><span class=\"token punctuation\">)<\/span> and <span class=\"token punctuation\">(<\/span>comment <span class=\"token operator\">&lt;<\/span> <span class=\"token number\">200.0<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'100-200'<\/span>\n        when <span class=\"token punctuation\">(<\/span>comment <span class=\"token operator\">&gt;=<\/span><span class=\"token number\">200<\/span><span class=\"token punctuation\">)<\/span> and <span class=\"token punctuation\">(<\/span>comment <span class=\"token operator\">&lt;<\/span><span class=\"token number\">400<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'200-400'<\/span>\n        when <span class=\"token punctuation\">(<\/span>comment <span class=\"token operator\">&gt;=<\/span><span class=\"token number\">400<\/span><span class=\"token punctuation\">)<\/span> and <span class=\"token punctuation\">(<\/span>comment <span class=\"token operator\">&lt;<\/span><span class=\"token number\">600<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'400-600'<\/span>\n        when comment <span class=\"token operator\">&gt;=<\/span><span class=\"token number\">600<\/span> and comment <span class=\"token operator\">&lt;<\/span><span class=\"token number\">800<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'600-800'<\/span>\n        when comment <span class=\"token operator\">&gt;=<\/span><span class=\"token number\">800<\/span> and comment <span class=\"token operator\">&lt;<\/span><span class=\"token number\">1000<\/span> <span class=\"token keyword\">then<\/span> <span class=\"token string\">'800-1000'<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token string\">'greater than 10000'<\/span>\n        end as comment_range,\n        books.*\n    from books   \n    <span class=\"token string\">\"\"<\/span>\"\n\n    comment_result <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span>comment_sql<span class=\"token punctuation\">)<\/span>\n    comment_result.createOrReplaceTempView<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"comment_results\"<\/span><span class=\"token punctuation\">)<\/span>\n    comment_result.show<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n\n    <span class=\"token comment\"># \u6309\u7167\u4ef7\u683c\u533a\u95f4\u8fdb\u884c\u5206\u7ec4\uff0c\u8ba1\u7b97\u5404\u7ec4\u5185\u6570\u636e\u603b\u6570<\/span>\n    group_comment_sql <span class=\"token operator\">=<\/span> <span class=\"token string\">'select comment_range, count(*) from comment_results group by comment_range'<\/span>\n    group_comment_results <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span>group_comment_sql<span class=\"token punctuation\">)<\/span>\n    group_comment_results.show<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n\n<span class=\"token keyword\">if<\/span> __name__ <span class=\"token operator\">==<\/span> <span class=\"token string\">'__main__'<\/span><span class=\"token builtin class-name\">:<\/span>\n    sc <span class=\"token operator\">=<\/span> SparkSession.builder.appName<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"Python Spark SQL basic example\"<\/span><span class=\"token punctuation\">)<\/span>.master<span class=\"token punctuation\">(<\/span><span class=\"token string\">'local'<\/span><span class=\"token punctuation\">)<\/span> .getOrCreate<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n    <span class=\"token comment\"># \u5177\u4f53\u6267\u884c\u65b9\u6cd5<\/span>\n    save_xlsx_to_text<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n    price_distribution<span class=\"token punctuation\">(<\/span>sc<span class=\"token punctuation\">)<\/span>\n    comment_distribution<span class=\"token punctuation\">(<\/span>sc<span class=\"token punctuation\">)<\/span>\n\n    sc.stop<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n\n\n\uff085\uff09\u56fe\u4e66\u7684\u90e8\u5206\u4f5c\u8005\u6570\u91cf\u7edf\u8ba1\n<span class=\"token function\">import<\/span> os\nos.environ<span class=\"token punctuation\">[<\/span><span class=\"token string\">'JAVA_HOME'<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span><span class=\"token string\">'\/usr\/lib\/jvm\/jdk1.8.0_162'<\/span>\nos.environ<span class=\"token punctuation\">[<\/span><span class=\"token string\">\"PYSPARK_PYTHON\"<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span><span class=\"token string\">'\/usr\/bin\/python3.5'<\/span>\n\nfrom pyspark <span class=\"token function\">import<\/span> SparkConf,SparkContext\nfrom pyspark.sql.session <span class=\"token function\">import<\/span> SparkSession\nfrom pyspark <span class=\"token function\">import<\/span> SparkContext\nfrom pyspark.sql.types <span class=\"token function\">import<\/span> Row\n<span class=\"token function\">import<\/span> pandas as pd\n<span class=\"token function\">import<\/span> numpy as np\n\nxlsx <span class=\"token operator\">=<\/span> <span class=\"token string\">'\/home\/hadoop\/data\/java_books.xlsx'<\/span>\ncsv <span class=\"token operator\">=<\/span> <span class=\"token string\">'\/home\/hadoop\/data\/java_books.csv'<\/span>\ndef save_xlsx_to_text<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>:\n    <span class=\"token function\">df<\/span> <span class=\"token operator\">=<\/span> pd.read_excel<span class=\"token punctuation\">(<\/span>xlsx<span class=\"token punctuation\">)<\/span>\n    df.to_csv<span class=\"token punctuation\">(<\/span>csv,index<span class=\"token operator\">=<\/span>False<span class=\"token punctuation\">)<\/span>\n\n\n<span class=\"token keyword\">if<\/span> <span class=\"token assign-left variable\">__name__<\/span><span class=\"token operator\">==<\/span><span class=\"token string\">'__main__'<\/span><span class=\"token builtin class-name\">:<\/span>\n    conf <span class=\"token operator\">=<\/span> SparkConf<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>.setAppName<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"IpSearch\"<\/span><span class=\"token punctuation\">)<\/span>.setMaster<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"local[2]\"<\/span><span class=\"token punctuation\">)<\/span>\n    sc <span class=\"token operator\">=<\/span> SparkContext.getOrCreate<span class=\"token punctuation\">(<\/span>conf<span class=\"token punctuation\">)<\/span>\n    spark <span class=\"token operator\">=<\/span> SparkSession.builder.getOrCreate<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n    sc.setLogLevel<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"WARN\"<\/span><span class=\"token punctuation\">)<\/span>\n\n    <span class=\"token comment\"># data = spark.read.csv(csv, header=True)<\/span>\n    <span class=\"token assign-left variable\">data<\/span><span class=\"token operator\">=<\/span>sc.textFile<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"file:\/\/\/home\/hadoop\/data\/java_books .csv\"<\/span><span class=\"token punctuation\">)<\/span>\n    <span class=\"token assign-left variable\">data<\/span><span class=\"token operator\">=<\/span>data.map<span class=\"token punctuation\">(<\/span>lambda line: line.split<span class=\"token punctuation\">(<\/span><span class=\"token string\">\",\"<\/span><span class=\"token punctuation\">))<\/span>\n    <span class=\"token assign-left variable\">datardd<\/span><span class=\"token operator\">=<\/span>data.map<span class=\"token punctuation\">(<\/span>lambda local:Row<span class=\"token punctuation\">(<\/span>press<span class=\"token operator\">=<\/span>local<span class=\"token punctuation\">[<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">))<\/span>\n    print<span class=\"token punctuation\">(<\/span>datardd.take<span class=\"token punctuation\">(<\/span><span class=\"token number\">3<\/span><span class=\"token punctuation\">))<\/span>\n    zhaopin <span class=\"token operator\">=<\/span> spark.createDataFrame<span class=\"token punctuation\">(<\/span>datardd<span class=\"token punctuation\">)<\/span>\n    zhaopin.createOrReplaceTempView<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"zhaopin\"<\/span><span class=\"token punctuation\">)<\/span>\n    siming <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"select count(*) as simingcount from (select press from zhaopin where press Like '%\u660e\u65e5\u79d1\u6280%' )\"<\/span><span class=\"token punctuation\">)<\/span>\n    print<span class=\"token punctuation\">(<\/span>siming.rdd.map<span class=\"token punctuation\">(<\/span>lambda p: <span class=\"token string\">'\u660e\u65e5\u79d1\u6280:'<\/span> + str<span class=\"token punctuation\">(<\/span>p.simingcount<span class=\"token punctuation\">))<\/span>.collect<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">))<\/span>\n    jimei <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"select count(*) as jimei from (select press from zhaopin where press like '%\u970d\u65af\u7279\u66fc%' )\"<\/span><span class=\"token punctuation\">)<\/span>\n    print<span class=\"token punctuation\">(<\/span>jimei.rdd.map<span class=\"token punctuation\">(<\/span>lambda p: <span class=\"token string\">'\u970d\u65af\u7279\u66fc:'<\/span> + str<span class=\"token punctuation\">(<\/span>p.jimei<span class=\"token punctuation\">))<\/span>.collect<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">))<\/span>\n    huli <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"select count(*) as huli from (select press from zhaopin where press like '%\u4f20\u667a\u64ad\u5ba2\u9ad8\u6559\u4ea7\u54c1\u7814\u53d1\u90e8%')\"<\/span><span class=\"token punctuation\">)<\/span>\n    print<span class=\"token punctuation\">(<\/span>huli.rdd.map<span class=\"token punctuation\">(<\/span>lambda p: <span class=\"token string\">'\u4f20\u667a\u64ad\u5ba2\u9ad8\u6559\u4ea7\u54c1\u7814\u53d1\u90e8:'<\/span> + str<span class=\"token punctuation\">(<\/span>p.huli<span class=\"token punctuation\">))<\/span>.collect<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">))<\/span>\n    haicang <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"select count(*) as haicang from (select press from zhaopin where press like '%\u4e01\u632f\u51e1%' )\"<\/span><span class=\"token punctuation\">)<\/span>\n    print<span class=\"token punctuation\">(<\/span>haicang.rdd.map<span class=\"token punctuation\">(<\/span>lambda p: <span class=\"token string\">'\u4e01\u632f\u51e1:'<\/span> + str<span class=\"token punctuation\">(<\/span>p.haicang<span class=\"token punctuation\">))<\/span>.collect<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">))<\/span>\n    tongan <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"select count(*) as tongan from (select press from zhaopin where press like '%\u9ad8\u6d2a\u5ca9%')\"<\/span><span class=\"token punctuation\">)<\/span>\n    print<span class=\"token punctuation\">(<\/span>tongan.rdd.map<span class=\"token punctuation\">(<\/span>lambda p: <span class=\"token string\">'\u9ad8\u6d2a\u5ca9:'<\/span> + str<span class=\"token punctuation\">(<\/span>p.tongan<span class=\"token punctuation\">))<\/span>.collect<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">))<\/span>\n    xiangan <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"select count(*) as xiangan from (select press from zhaopin where press like '%\u674e\u5174\u534e%')\"<\/span><span class=\"token punctuation\">)<\/span>\n    print<span class=\"token punctuation\">(<\/span>xiangan.rdd.map<span class=\"token punctuation\">(<\/span>lambda p: <span class=\"token string\">'\u674e\u5174\u534e:'<\/span> + str<span class=\"token punctuation\">(<\/span>p.xiangan<span class=\"token punctuation\">))<\/span>.collect<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">))<\/span>\n    quanzhou <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"select count(*) as quanzhou from (select press from zhaopin where press like '%\u8f6f\u4ef6\u5f00\u53d1\u6280\u672f\u8054\u76df%')\"<\/span><span class=\"token punctuation\">)<\/span>\n    print<span class=\"token punctuation\">(<\/span>quanzhou.rdd.map<span class=\"token punctuation\">(<\/span>lambda p: <span class=\"token string\">'\u8f6f\u4ef6\u5f00\u53d1\u6280\u672f\u8054\u76df:'<\/span> + str<span class=\"token punctuation\">(<\/span>p.quanzhou<span class=\"token punctuation\">))<\/span>.collect<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">))<\/span>\n    nanan <span class=\"token operator\">=<\/span> spark.sql<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"select count(*) as nanan from (select press from zhaopin where press like '%\u5176\u4ed6\u4f5c\u8005%')\"<\/span><span class=\"token punctuation\">)<\/span>\n    print<span class=\"token punctuation\">(<\/span>nanan.rdd.map<span class=\"token punctuation\">(<\/span>lambda p: <span class=\"token string\">'\u5176\u4ed6\u4f5c\u8005:'<\/span> + str<span class=\"token punctuation\">(<\/span>p.nanan<span class=\"token punctuation\">))<\/span>.collect<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">))<\/span>\n\n\uff086\uff09\u5206\u6790\u4ef7\u683c\u7684\u6700\u5927\u503c\u3001\u6700\u5c0f\u503c\u3001\u5747\u503c\u3001\u65b9\u5dee\u548c\u4e2d\u4f4d\u6570\n\n<span class=\"token function\">import<\/span> os\nos.environ<span class=\"token punctuation\">[<\/span><span class=\"token string\">'JAVA_HOME'<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span><span class=\"token string\">'\/usr\/lib\/jvm\/jdk1.8.0_162'<\/span>\nos.environ<span class=\"token punctuation\">[<\/span><span class=\"token string\">\"PYSPARK_PYTHON\"<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span><span class=\"token string\">'\/usr\/bin\/python3.5'<\/span>\n\n<span class=\"token function\">import<\/span> pandas as pd\nfrom pyspark.sql <span class=\"token function\">import<\/span> SparkSession\n\ncsv  <span class=\"token operator\">=<\/span> <span class=\"token string\">'\/home\/hadoop\/data\/java_books .csv'<\/span>\n\n<span class=\"token comment\"># SparkSession \u914d\u7f6e<\/span>\nspark <span class=\"token operator\">=<\/span> SparkSession.builder .appName<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"My test\"<\/span><span class=\"token punctuation\">)<\/span> .getOrCreate<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n<span class=\"token comment\"># spark.conf.set(\"spark.executor.memory\", \"1g\")<\/span>\nspark.conf.set<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"spark.sql.execution.arrow.enabled\"<\/span>, <span class=\"token string\">\"true\"<\/span><span class=\"token punctuation\">)<\/span>\nsc <span class=\"token operator\">=<\/span> spark.sparkContext\nsc.setLogLevel<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"WARN\"<\/span><span class=\"token punctuation\">)<\/span>\n\nair <span class=\"token operator\">=<\/span> spark.read.csv<span class=\"token punctuation\">(<\/span>csv,header<span class=\"token operator\">=<\/span>True<span class=\"token punctuation\">)<\/span>\nair.printSchema<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\nair.describe<span class=\"token punctuation\">(<\/span><span class=\"token string\">'price'<\/span><span class=\"token punctuation\">)<\/span>.show<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n\u53ef\u89c6\u5316\u4ee3\u7801:\n\uff081\uff09\u56fe\u4e66\u7684\u552e\u4ef7\u5206\u5e03\u60c5\u51b5\uff08\u89c2\u5bdf\u56fe\u4e66\u4ef7\u683c\u5927\u4f53\u96c6\u4e2d\u5728\u54ea\u4e2a\u5206\u6bb5\u5f97\u51fa\u56fe\u4e66\u4ef7\u683c\u8d8b\u52bf\uff09\nfrom pyecharts.charts <span class=\"token function\">import<\/span> Bar\nfrom pyecharts <span class=\"token function\">import<\/span> options as opts\n<span class=\"token comment\">#\/\/\u8bbe\u7f6e\u884c\u540d<\/span>\ncolumns <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">\"0-20\"<\/span>, <span class=\"token string\">\"20-40\"<\/span>, <span class=\"token string\">\"40-60\"<\/span>, <span class=\"token string\">\"60-80\"<\/span>, <span class=\"token string\">\"80-100\"<\/span>, <span class=\"token string\">\"more than 100\"<\/span><span class=\"token punctuation\">]<\/span>\n<span class=\"token comment\">#\/\/\u8bbe\u7f6e\u6570\u636e<\/span>\ndata1 <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token number\">282<\/span>, <span class=\"token number\">1057<\/span>, <span class=\"token number\">784<\/span>, <span class=\"token number\">407<\/span>, <span class=\"token number\">204<\/span>, <span class=\"token number\">266<\/span><span class=\"token punctuation\">]<\/span>\n\n<span class=\"token comment\">#\/\/\u6dfb\u52a0\u67f1\u72b6\u56fe\u7684\u914d\u7f6e\u9879<\/span>\n<span class=\"token assign-left variable\">bar<\/span><span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span>\n         Bar<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n         .add_xaxis<span class=\"token punctuation\">(<\/span>xaxis_data<span class=\"token operator\">=<\/span>columns<span class=\"token punctuation\">)<\/span>\n         .add_yaxis<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"\u6570\u91cf\"<\/span>, <span class=\"token assign-left variable\">y_axis<\/span><span class=\"token operator\">=<\/span>data1<span class=\"token punctuation\">)<\/span>\n         .set_global_opts<span class=\"token punctuation\">(<\/span>title_opts<span class=\"token operator\">=<\/span>opts.TitleOpts<span class=\"token punctuation\">(<\/span>title<span class=\"token operator\">=<\/span><span class=\"token string\">\"\u56fe\u4e66\u7684\u552e\u4ef7\u5206\u5e03\u60c5\u51b5\"<\/span><span class=\"token punctuation\">))<\/span>\n     <span class=\"token punctuation\">)<\/span>\nbar.render<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n\uff082\uff09\u90e8\u5206\u56fe\u4e66\u51fa\u7248\u793e\u7684\u51fa\u4e66\u6570\u91cf\u7edf\u8ba1\nfrom pyecharts.charts <span class=\"token function\">import<\/span> Bar\nfrom pyecharts <span class=\"token function\">import<\/span> options as opts\n\n<span class=\"token comment\">#\/\/\u8bbe\u7f6e\u884c\u540d<\/span>\ncolumns <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">\"\u6e05\u534e\u5927\u5b66\u51fa\u7248\u793e\"<\/span>, <span class=\"token string\">\"\u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e\"<\/span>, <span class=\"token string\">\"\u7535\u5b50\u5de5\u4e1a\u51fa\u7248\u793e\"<\/span>, <span class=\"token string\">\"\u4eba\u6c11\u90ae\u7535\u51fa\u7248\u793e\"<\/span>, <span class=\"token string\">\"\u4e2d\u56fd\u94c1\u9053\u51fa\u7248\u793e\"<\/span>, <span class=\"token string\">\"\u4e1c\u5357\u5927\u5b66\u51fa\u7248\u793e\"<\/span><span class=\"token punctuation\">]<\/span>\n<span class=\"token comment\">#\/\/\u8bbe\u7f6e\u6570\u636e<\/span>\ndata1 <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token number\">565<\/span>, <span class=\"token number\">440<\/span>, <span class=\"token number\">387<\/span>, <span class=\"token number\">282<\/span>, <span class=\"token number\">64<\/span>, <span class=\"token number\">40<\/span><span class=\"token punctuation\">]<\/span>\n\n<span class=\"token comment\">#\/\/\u6dfb\u52a0\u67f1\u72b6\u56fe\u7684\u914d\u7f6e\u9879<\/span>\n<span class=\"token assign-left variable\">bar<\/span><span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span>\n     Bar<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n         .add_xaxis<span class=\"token punctuation\">(<\/span>xaxis_data<span class=\"token operator\">=<\/span>columns<span class=\"token punctuation\">)<\/span>\n         .add_yaxis<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"\u6570\u91cf\"<\/span>, <span class=\"token assign-left variable\">y_axis<\/span><span class=\"token operator\">=<\/span>data1<span class=\"token punctuation\">)<\/span>\n         .set_global_opts<span class=\"token punctuation\">(<\/span>title_opts<span class=\"token operator\">=<\/span>opts.TitleOpts<span class=\"token punctuation\">(<\/span>title<span class=\"token operator\">=<\/span><span class=\"token string\">\"\u56fe\u4e66\u7684\u51fa\u7248\u793e\u51fa\u4e66\u60c5\u51b5\"<\/span><span class=\"token punctuation\">))<\/span>\n     <span class=\"token punctuation\">)<\/span>\nbar.render<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n\uff083\uff09\u56fe\u4e66\u7684\u4f5c\u8005\u51fa\u4e66\uff08\u89c2\u5bdf\u54ea\u4e2a\u4f5c\u8005\u51fa\u7684\u4e66\u6700\u591a\uff09\n\n\uff084\uff09\u56fe\u4e66\u7684\u8bc4\u8bba\u5206\u5e03\u60c5\u51b5\uff08\u89c2\u5bdf\u56fe\u4e66\u8bc4\u8bba\u5927\u4f53\u96c6\u4e2d\u5728\u54ea\u4e2a\u5206\u6bb5\u5f97\u51fa\u56fe\u4e66\u8bc4\u8bba\u8d8b\u52bf\uff09\nfrom pyecharts.charts <span class=\"token function\">import<\/span> Pie\nfrom pyecharts <span class=\"token function\">import<\/span> options as opts\n\ncolumns <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">\"0-100\"<\/span>, <span class=\"token string\">\"100-200\"<\/span>, <span class=\"token string\">\"200-400\"<\/span>, <span class=\"token string\">\"400-600\"<\/span>, <span class=\"token string\">\"600-800\"<\/span>, <span class=\"token string\">\"800-1000\"<\/span>, <span class=\"token string\">\"more than 1000\"<\/span><span class=\"token punctuation\">]<\/span>\n<span class=\"token comment\">#\/\/\u8bbe\u7f6e\u6570\u636e<\/span>\ndata1 <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token number\">2756<\/span>, <span class=\"token number\">61<\/span>, <span class=\"token number\">46,22<\/span> , <span class=\"token number\">15<\/span>, <span class=\"token number\">14<\/span>, <span class=\"token number\">86<\/span><span class=\"token punctuation\">]<\/span>\n\n\n\npie <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">(<\/span>\n        Pie<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n        \t<span class=\"token comment\"># \u4ee5[(lable,value),(lable,value),(lable,value)......]\u5f62\u5f0f\u4f20\u5165\u6570\u636e\u3002<\/span>\n            .add<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"\u997c\u56fe\"<\/span>, list<span class=\"token punctuation\">(<\/span>z <span class=\"token keyword\">for<\/span> <span class=\"token for-or-select variable\">z<\/span> <span class=\"token keyword\">in<\/span> zip<span class=\"token punctuation\">(<\/span>columns, data1<span class=\"token punctuation\">))<\/span><span class=\"token punctuation\">)<\/span>\n            .set_series_opts<span class=\"token punctuation\">(<\/span>label_opts<span class=\"token operator\">=<\/span>opts.LabelOpts<span class=\"token punctuation\">(<\/span>formatter<span class=\"token operator\">=<\/span><span class=\"token string\">\"{b}: {c}\"<\/span><span class=\"token punctuation\">))<\/span>\n            .set_global_opts<span class=\"token punctuation\">(<\/span>title_opts<span class=\"token operator\">=<\/span>opts.TitleOpts<span class=\"token punctuation\">(<\/span>title<span class=\"token operator\">=<\/span><span class=\"token string\">\"\u8bc4\u8bba\u5206\u5e03\u60c5\u51b5\"<\/span><span class=\"token punctuation\">))<\/span>\n    <span class=\"token punctuation\">)<\/span>\npie.render<span class=\"token punctuation\">(<\/span><span class=\"token string\">'\u997c\u56fe.html'<\/span><span class=\"token punctuation\">)<\/span>\n\n\uff085\uff09\u56fe\u4e66\u7684\u90e8\u5206\u4f5c\u8005\u6570\u91cf\u7edf\u8ba1\n<span class=\"token function\">import<\/span> numpy as np\n<span class=\"token function\">import<\/span> matplotlib.pyplot as plt\n<span class=\"token function\">import<\/span> pandas as pd\n\nplt.rcParams<span class=\"token punctuation\">[<\/span><span class=\"token string\">'font.sans-serif'<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'SimHei'<\/span>  <span class=\"token comment\"># \u8bbe\u7f6e\u4e2d\u6587\u663e\u793a\uff0c\u5426\u5219\u53ef\u80fd\u65e0\u6cd5\u663e\u793a\u4e2d\u6587\u6216\u8005\u662f\u5404\u79cd\u5b57\u7b26\u9519\u4e71<\/span>\nplt.rcParams<span class=\"token punctuation\">[<\/span><span class=\"token string\">'axes.unicode_minus'<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">=<\/span> False\nsize <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token number\">72,65<\/span>,19,20,23,26,24,4<span class=\"token punctuation\">]<\/span>\nlabels <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">'\u660e\u65e5\u79d1\u6280'<\/span>, <span class=\"token string\">'\u970d\u65af\u7279\u66fc'<\/span>, <span class=\"token string\">'\u4f20\u667a\u64ad\u5ba2\u9ad8\u6559\u4ea7\u54c1\u7814\u53d1\u90e8'<\/span>,<span class=\"token string\">'\u4e01\u632f\u51e1'<\/span>,<span class=\"token string\">'\u9ad8\u6d2a\u5ca9'<\/span>,<span class=\"token string\">'\u674e\u5174\u534e'<\/span>,<span class=\"token string\">'\u8f6f\u4ef6\u5f00\u53d1\u6280\u672f\u8054\u76df'<\/span>,<span class=\"token string\">'\u5176\u4ed6\u4f5c\u8005'<\/span><span class=\"token punctuation\">]<\/span>\nexplode <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token number\">0.1<\/span>,0,0,0,0,0,0,0<span class=\"token punctuation\">)<\/span>\nplt.pie<span class=\"token punctuation\">(<\/span>size,explode<span class=\"token operator\">=<\/span>explode,labels<span class=\"token operator\">=<\/span>labels,autopct<span class=\"token operator\">=<\/span><span class=\"token string\">'%1.1f%%'<\/span>,shadow<span class=\"token operator\">=<\/span>False,startangle<span class=\"token operator\">=<\/span><span class=\"token number\">150<\/span><span class=\"token punctuation\">)<\/span>\nplt.title<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"\u997c\u56fe\u793a\u4f8b--\u90e8\u5206\u4f5c\u8005\u6570\u91cf\u7edf\u8ba1\"<\/span><span class=\"token punctuation\">)<\/span>\nplt.show<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n\n\uff086\uff09\u5206\u6790\u4ef7\u683c\u7684\u6700\u5927\u503c\u3001\u6700\u5c0f\u503c\u3001\u5747\u503c\u3001\u65b9\u5dee\u548c\u4e2d\u4f4d\u6570\n<span class=\"token function\">import<\/span> numpy as np\n<span class=\"token function\">import<\/span> pandas as pd\n<span class=\"token function\">import<\/span> matplotlib.pyplot as plt\n\nplt.rcParams<span class=\"token punctuation\">[<\/span><span class=\"token string\">'font.sans-serif'<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">=<\/span> <span class=\"token string\">'SimHei'<\/span>  <span class=\"token comment\"># \u8bbe\u7f6e\u4e2d\u6587\u663e\u793a\uff0c\u5426\u5219\u53ef\u80fd\u65e0\u6cd5\u663e\u793a\u4e2d\u6587\u6216\u8005\u662f\u5404\u79cd\u5b57\u7b26\u9519\u4e71<\/span>\nplt.rcParams<span class=\"token punctuation\">[<\/span><span class=\"token string\">'axes.unicode_minus'<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">=<\/span> False\ndata <span class=\"token operator\">=<\/span> pd.read_csv<span class=\"token punctuation\">(<\/span><span class=\"token string\">\"new\/books.csv\"<\/span><span class=\"token punctuation\">)<\/span>  <span class=\"token comment\"># \u52a0\u8f7d\u6570\u636e \u5fc5\u987b\u52a0\u4e0a<\/span>\nvalues <span class=\"token operator\">=<\/span> data<span class=\"token punctuation\">[<\/span><span class=\"token string\">'price'<\/span><span class=\"token punctuation\">]<\/span>\nplt.figure<span class=\"token punctuation\">(<\/span>figsize<span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">6<\/span>, <span class=\"token number\">6<\/span><span class=\"token punctuation\">))<\/span>\nplt.ylim<span class=\"token punctuation\">(<\/span><span class=\"token number\">0,180<\/span><span class=\"token punctuation\">)<\/span>\nlabel <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">'\u56fe\u4e66\u4ef7\u683c\u7bb1\u7ebf\u56fe'<\/span><span class=\"token punctuation\">]<\/span>\n<span class=\"token comment\"># gdp = list(values[:, 3])<\/span>\nplt.boxplot<span class=\"token punctuation\">(<\/span>values, <span class=\"token assign-left variable\">notch<\/span><span class=\"token operator\">=<\/span>True, <span class=\"token assign-left variable\">labels<\/span><span class=\"token operator\">=<\/span>label, <span class=\"token assign-left variable\">meanline<\/span><span class=\"token operator\">=<\/span>True<span class=\"token punctuation\">)<\/span>  <span class=\"token comment\"># \u7b2c\u4e00\u4e2a\u53c2\u6570\u662f\u6570\u636e\uff0c\u7b2c\u4e8c\u4e2a\u53c2\u6570\u662f\u662f\u5426\u5e26\u6709\u7f3a\u53e3\uff0c\u7b2c\u4e09\u4e2a\u53c2\u6570\u662f\u6807\u7b7e\uff0c\u7b2c\u56db\u4e2a\u53c2\u6570\u662f\u662f\u5426\u5e26\u6709\u5747\u503c\u7ebf<\/span>\nplt.title<span class=\"token punctuation\">(<\/span><span class=\"token string\">'\u56fe\u4e66\u4ef7\u683c\u7bb1\u7ebf\u56fe'<\/span><span class=\"token punctuation\">)<\/span>\nplt.savefig<span class=\"token punctuation\">(<\/span><span class=\"token string\">'new\/\u56fe\u4e66\u4ef7\u683c\u7bb1\u7ebf\u56fe\u7bb1\u7ebf\u56fe.png'<\/span><span class=\"token punctuation\">)<\/span>\nplt.show<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n<\/code><\/pre>\n<\/p><\/div>\n<link href=\"https:\/\/csdnimg.cn\/release\/blogv2\/dist\/mdeditor\/css\/editerView\/markdown_views-a5d25dd831.css\" rel=\"stylesheet\"\/>\n <link href=\"https:\/\/csdnimg.cn\/release\/blogv2\/dist\/mdeditor\/css\/style-e504d6a974.css\" rel=\"stylesheet\"\/>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\u53ef\u89c6\u5316 \u4e00\u3001\u5b9e\u9a8c\u73af\u5883 \uff081\uff09Linux\uff1a Ubuntu 16.04 \uff082\uff09Pyt [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":215,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-481","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-17"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u3010\u5927\u6570\u636e\u5b9e\u8bad\u3011\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\u53ef\u89c6\u5316(\u516b) - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/\u3010\u5927\u6570\u636e\u5b9e\u8bad\u3011\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u3010\u5927\u6570\u636e\u5b9e\u8bad\u3011\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\u53ef\u89c6\u5316(\u516b) - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\" \/>\n<meta property=\"og:description\" content=\"\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\u53ef\u89c6\u5316 \u4e00\u3001\u5b9e\u9a8c\u73af\u5883 \uff081\uff09Linux\uff1a Ubuntu 16.04 \uff082\uff09Pyt [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/\u3010\u5927\u6570\u636e\u5b9e\u8bad\u3011\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\/\" \/>\n<meta property=\"og:site_name\" content=\"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-03T10:00:09+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"260\" \/>\n\t<meta property=\"og:image:height\" content=\"180\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin@wunen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin@wunen\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/\"},\"author\":{\"name\":\"admin@wunen\",\"@id\":\"https:\/\/www.wunen.com\/#\/schema\/person\/d5f7a6cf545656a9c90d507e64452db8\"},\"headline\":\"\u3010\u5927\u6570\u636e\u5b9e\u8bad\u3011\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\u53ef\u89c6\u5316(\u516b)\",\"datePublished\":\"2025-04-03T10:00:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/\"},\"wordCount\":52,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.wunen.com\/#organization\"},\"image\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg\",\"articleSection\":[\"\u56fe\u4e66\u9605\u8bfb\"],\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/\",\"url\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/\",\"name\":\"\u3010\u5927\u6570\u636e\u5b9e\u8bad\u3011\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\u53ef\u89c6\u5316(\u516b) - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\",\"isPartOf\":{\"@id\":\"https:\/\/www.wunen.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/#primaryimage\"},\"image\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg\",\"datePublished\":\"2025-04-03T10:00:09+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/#primaryimage\",\"url\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg\",\"contentUrl\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg\",\"width\":260,\"height\":180},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wunen.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u3010\u5927\u6570\u636e\u5b9e\u8bad\u3011\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\u53ef\u89c6\u5316(\u516b)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wunen.com\/#website\",\"url\":\"https:\/\/www.wunen.com\/\",\"name\":\"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\",\"description\":\"\u8f6f\u4ef6\u8d44\u8baf\u6765\u7269\u5ae9\",\"publisher\":{\"@id\":\"https:\/\/www.wunen.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wunen.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.wunen.com\/#organization\",\"name\":\"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\",\"url\":\"https:\/\/www.wunen.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wunen.com\/#\/schema\/logo\/image\/\",\"url\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/cropped-\u7269\u5ae9-1.png\",\"contentUrl\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/cropped-\u7269\u5ae9-1.png\",\"width\":1024,\"height\":1024,\"caption\":\"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\"},\"image\":{\"@id\":\"https:\/\/www.wunen.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wunen.com\/#\/schema\/person\/d5f7a6cf545656a9c90d507e64452db8\",\"name\":\"admin@wunen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wunen.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d90ec1e3faf77c4d4e66e40c29b85ff6401161e0502f401dae2f0e25b38ce25e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d90ec1e3faf77c4d4e66e40c29b85ff6401161e0502f401dae2f0e25b38ce25e?s=96&d=mm&r=g\",\"caption\":\"admin@wunen\"},\"sameAs\":[\"http:\/\/www.wunen.com\"],\"url\":\"http:\/\/www.wunen.com\/index.php\/author\/adminwunen\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u3010\u5927\u6570\u636e\u5b9e\u8bad\u3011\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\u53ef\u89c6\u5316(\u516b) - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/\u3010\u5927\u6570\u636e\u5b9e\u8bad\u3011\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\/","og_locale":"zh_CN","og_type":"article","og_title":"\u3010\u5927\u6570\u636e\u5b9e\u8bad\u3011\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\u53ef\u89c6\u5316(\u516b) - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","og_description":"\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\u53ef\u89c6\u5316 \u4e00\u3001\u5b9e\u9a8c\u73af\u5883 \uff081\uff09Linux\uff1a Ubuntu 16.04 \uff082\uff09Pyt [&hellip;]","og_url":"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/\u3010\u5927\u6570\u636e\u5b9e\u8bad\u3011\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\/","og_site_name":"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","article_published_time":"2025-04-03T10:00:09+00:00","og_image":[{"width":260,"height":180,"url":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg","type":"image\/jpeg"}],"author":"admin@wunen","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin@wunen","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"9 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/#article","isPartOf":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/"},"author":{"name":"admin@wunen","@id":"https:\/\/www.wunen.com\/#\/schema\/person\/d5f7a6cf545656a9c90d507e64452db8"},"headline":"\u3010\u5927\u6570\u636e\u5b9e\u8bad\u3011\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\u53ef\u89c6\u5316(\u516b)","datePublished":"2025-04-03T10:00:09+00:00","mainEntityOfPage":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/"},"wordCount":52,"commentCount":0,"publisher":{"@id":"https:\/\/www.wunen.com\/#organization"},"image":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/#primaryimage"},"thumbnailUrl":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg","articleSection":["\u56fe\u4e66\u9605\u8bfb"],"inLanguage":"zh-Hans","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/","url":"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/","name":"\u3010\u5927\u6570\u636e\u5b9e\u8bad\u3011\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\u53ef\u89c6\u5316(\u516b) - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","isPartOf":{"@id":"https:\/\/www.wunen.com\/#website"},"primaryImageOfPage":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/#primaryimage"},"image":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/#primaryimage"},"thumbnailUrl":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg","datePublished":"2025-04-03T10:00:09+00:00","breadcrumb":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/"]}]},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/#primaryimage","url":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg","contentUrl":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg","width":260,"height":180},{"@type":"BreadcrumbList","@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/03\/%e3%80%90%e5%a4%a7%e6%95%b0%e6%8d%ae%e5%ae%9e%e8%ae%ad%e3%80%91%e5%9f%ba%e4%ba%8e%e5%bd%93%e5%bd%93%e7%bd%91%e5%9b%be%e4%b9%a6%e4%bf%a1%e6%81%af%e7%9a%84%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90%e4%b8%8e\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wunen.com\/"},{"@type":"ListItem","position":2,"name":"\u3010\u5927\u6570\u636e\u5b9e\u8bad\u3011\u57fa\u4e8e\u5f53\u5f53\u7f51\u56fe\u4e66\u4fe1\u606f\u7684\u6570\u636e\u5206\u6790\u4e0e\u53ef\u89c6\u5316(\u516b)"}]},{"@type":"WebSite","@id":"https:\/\/www.wunen.com\/#website","url":"https:\/\/www.wunen.com\/","name":"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","description":"\u8f6f\u4ef6\u8d44\u8baf\u6765\u7269\u5ae9","publisher":{"@id":"https:\/\/www.wunen.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wunen.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-Hans"},{"@type":"Organization","@id":"https:\/\/www.wunen.com\/#organization","name":"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","url":"https:\/\/www.wunen.com\/","logo":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wunen.com\/#\/schema\/logo\/image\/","url":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/cropped-\u7269\u5ae9-1.png","contentUrl":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/cropped-\u7269\u5ae9-1.png","width":1024,"height":1024,"caption":"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51"},"image":{"@id":"https:\/\/www.wunen.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.wunen.com\/#\/schema\/person\/d5f7a6cf545656a9c90d507e64452db8","name":"admin@wunen","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wunen.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d90ec1e3faf77c4d4e66e40c29b85ff6401161e0502f401dae2f0e25b38ce25e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d90ec1e3faf77c4d4e66e40c29b85ff6401161e0502f401dae2f0e25b38ce25e?s=96&d=mm&r=g","caption":"admin@wunen"},"sameAs":["http:\/\/www.wunen.com"],"url":"http:\/\/www.wunen.com\/index.php\/author\/adminwunen\/"}]}},"_links":{"self":[{"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/posts\/481","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/comments?post=481"}],"version-history":[{"count":0,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/posts\/481\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/media\/215"}],"wp:attachment":[{"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/media?parent=481"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/categories?post=481"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/tags?post=481"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}