{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# option - 个性化显示设置\n", "\n", "\n", "```{admonition} 在线刷题\n", ":class: seealso\n", "\n", "检查 or 强化 `Pandas` 数据分析操作?👉在线体验「Pandas进阶修炼300题」\n", "```\n", "\n", "```{note} \n", "本页面代码可以[在线编辑、执行](../指引/在线执行.md)!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 本页面数据说明\n", "\n", "为了更好的介绍相关操作,本页面使用 **某招聘数据** 数据进行展开,你应该对数据字段、数值、类型等相关信息做一个大致了解!" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "tags": [ "hide-input", "thebe-init" ] }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
positionId positionName companyId companySize industryField financeStage companyLabelList firstType secondType thirdType skillLables positionLables industryLables createTime formatCreateTime district businessZones salary workYear jobNature education positionAdvantage imState lastLogin publisherId approve subwayline stationname linestaion latitude longitude hitags resumeProcessRate resumeProcessDay score newScore matchScore matchScoreExplain query explain isSchoolJob adWord plus pcShow appShow deliver gradeDescription promotionScoreExplain isHotHire count aggregatePositionIds famousCompany
06802721数据分析47577050-150人移动互联网,电商A轮['绩效奖金', '带薪年假', '定期体检', '弹性工作']产品|需求|项目类数据分析数据分析['SQL', '数据库', '数据运营', 'BI']['电商', '社交', 'SQL', '数据库', '数据运营', 'BI']['电商', '社交', 'SQL', '数据库', '数据运营', 'BI']2020/3/16 11:0011:00发布余杭区['仓前']375001-3年全职本科五险一金、弹性工作、带薪年假、年度体检today2020/3/16 11:00120224061nannannan30.27842120.00592nan501233015.10187nannannan00nan000nannan00[]False
15204912数据建模50735150-500人电商B轮['年终奖金', '做五休二', '六险一金', '子女福利']开发|测试|运维类数据开发建模['算法', '数据架构']['算法', '数据架构'][]2020/3/16 11:0811:08发布滨江区['西兴', '长河']150003-5年全职本科六险一金,定期体检,丰厚年终disabled2020/3/16 11:0854916881nannannan30.18804120.20118nan231176032.55941nannannan00nan000nannan00[]False
26877668数据分析1001252000人以上移动互联网,企业服务上市公司['节日礼物', '年底双薪', '股票期权', '带薪年假']产品|需求|项目类数据分析数据分析['数据库', '数据分析', 'SQL']['数据库', 'SQL'][]2020/3/16 10:3310:33发布江干区['四季青', '钱江新城']35001-3年全职本科五险一金 周末双休 不加班 节日福利today2020/3/16 10:33532258314号线江锦路4号线_城星路;4号线_市民中心;4号线_江锦路30.24152120.21254nan11480014.97236nannannan00nan000nannan00[]False
36496141数据分析26564500-2000人电商D轮及以上['生日趴', '每月腐败基金', '每月补贴', '年度旅游']开发|测试|运维类数据开发数据分析[]['电商']['电商']2020/3/16 10:1010:10发布江干区nan450003-5年全职本科年终奖等threeDays2020/3/16 10:10981456011号线文泽路1号线_文泽路30.29940120.35030nan100168012.87415nannannan00nan000nannan00[]True
46467417数据分析292112000人以上物流丨运输上市公司['技能培训', '免费班车', '专项奖金', '岗位晋升']产品|需求|项目类数据分析数据分析['BI', '数据分析', '数据运营']['BI', '数据运营'][]2020/3/16 9:5609:56发布余杭区['仓前']300003-5年全职大专五险一金disabled2020/3/16 9:5663923941nannannan30.28295120.00976nan20166012.75538nannannan00nan000nannan00[]True
" ], "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "data = pd.read_csv(\"data.csv\")\n", "data.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 显示全部列\n", "\n", "如下图所示👇,直接查看 `data` 会发现,由于数据维度较大,部分行列会被折叠,显示为 `...` ,现在需要显示全部的列方便预览。" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "scrolled": false, "tags": [ "output_scroll" ] }, "outputs": [ { "ename": "AttributeError", "evalue": "'DataFrame' object has no attribute 'set_table_attributes'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;31m# pd.set_option('display.max_rows', None) # 显示全部行\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhead\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_table_attributes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'style=\"font-size: 10px\"'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/opt/anaconda3/lib/python3.8/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m__getattr__\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m 5137\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_info_axis\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_can_hold_identifiers_and_holds_name\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5138\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 5139\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__getattribute__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5140\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5141\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__setattr__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mAttributeError\u001b[0m: 'DataFrame' object has no attribute 'set_table_attributes'" ] } ], "source": [ "pd.set_option('display.max_columns', None) #显示全部列\n", "# pd.set_option('display.max_rows', None) # 显示全部行\n", "\n", "data.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 显示指定行/列\n", "\n", "指定让 `data` 在预览时显示10列,7行" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
positionIdpositionNamecompanyIdcompanySizeindustryField...promotionScoreExplainisHotHirecountaggregatePositionIdsfamousCompany
06802721数据分析47577050-150人移动互联网,电商...NaN00[]False
15204912数据建模50735150-500人电商...NaN00[]False
26877668数据分析1001252000人以上移动互联网,企业服务...NaN00[]False
36496141数据分析26564500-2000人电商...NaN00[]True
46467417数据分析292112000人以上物流丨运输...NaN00[]True
\n", "

5 rows × 52 columns

\n", "
" ], "text/plain": [ " positionId positionName companyId companySize industryField ... \\\n", "0 6802721 数据分析 475770 50-150人 移动互联网,电商 ... \n", "1 5204912 数据建模 50735 150-500人 电商 ... \n", "2 6877668 数据分析 100125 2000人以上 移动互联网,企业服务 ... \n", "3 6496141 数据分析 26564 500-2000人 电商 ... \n", "4 6467417 数据分析 29211 2000人以上 物流丨运输 ... \n", "\n", " promotionScoreExplain isHotHire count aggregatePositionIds famousCompany \n", "0 NaN 0 0 [] False \n", "1 NaN 0 0 [] False \n", "2 NaN 0 0 [] False \n", "3 NaN 0 0 [] True \n", "4 NaN 0 0 [] True \n", "\n", "[5 rows x 52 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.set_option('display.max_columns', 10) \n", "pd.set_option('display.max_rows', 7)\n", "\n", "data.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 还原行/列显示数\n", "\n", "还原上面的显示设置" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "pd.reset_option(\"max_rows\")\n", "pd.reset_option(\"max_columns\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 修改每列最大字符宽度\n", "\n", "即每列最多显示的字符长度,例如【每列最多显示10个字符,多余的会变成`...`】" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
positionIdpositionNamecompanyIdcompanySizeindustryField...promotionScoreExplainisHotHirecountaggregatePositionIdsfamousCompany
06802721数据分析47577050-150人移动互联网,电商...NaN00[]False
15204912数据建模50735150-500人电商...NaN00[]False
26877668数据分析1001252000人以上移动互联网,......NaN00[]False
36496141数据分析26564500-2000人电商...NaN00[]True
46467417数据分析292112000人以上物流丨运输...NaN00[]True
\n", "

5 rows × 52 columns

\n", "
" ], "text/plain": [ " positionId positionName companyId companySize industryField ... \\\n", "0 6802721 数据分析 475770 50-150人 移动互联网,电商 ... \n", "1 5204912 数据建模 50735 150-500人 电商 ... \n", "2 6877668 数据分析 100125 2000人以上 移动互联网,... ... \n", "3 6496141 数据分析 26564 500-2000人 电商 ... \n", "4 6467417 数据分析 29211 2000人以上 物流丨运输 ... \n", "\n", " promotionScoreExplain isHotHire count aggregatePositionIds famousCompany \n", "0 NaN 0 0 [] False \n", "1 NaN 0 0 [] False \n", "2 NaN 0 0 [] False \n", "3 NaN 0 0 [] True \n", "4 NaN 0 0 [] True \n", "\n", "[5 rows x 52 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.set_option('display.max_colwidth',10)\n", "data.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "```{admonition} 在线刷题\n", ":class: attention\n", "\n", "基于 option 修改显示设置并未修改数据,仅是在原有数据基础上优化显示状态,随时可以通过重置选项重置全部设置,恢复数据默认显示状态。\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 修改小数点精度\n", "\n", "修改默认显示精度为小数点后5位" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "pd.set_option('precision', 5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 还原所有显示设置" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "还原上面的全部显示设置" ] }, { "cell_type": "code", "execution_count": 236, "metadata": {}, "outputs": [], "source": [ "pd.reset_option(\"^display\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 忽略警告\n", "\n", "取消`pandas`相关`warning`提示" ] }, { "cell_type": "code", "execution_count": 243, "metadata": {}, "outputs": [], "source": [ "pd.set_option(\"mode.chained_assignment\", None) \n", "# 全局取消warning\n", "# import warnings\n", "# warnings.filterwarnings('ignore')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 设置数值显示条件\n", "\n", "例如,若数值小于 20 则显示为0" ] }, { "cell_type": "code", "execution_count": 155, "metadata": {}, "outputs": [], "source": [ "pd.set_option('chop_threshold', 20) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 支持 LaTex\n", "\n", "让`dataframe`中内容支持 `Latex` 显示(需要使用`$$`包住)" ] }, { "cell_type": "code", "execution_count": 221, "metadata": {}, "outputs": [], "source": [ "pd.set_option(\"display.html.use_mathjax\",True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 修改默认绘图引擎\n", "\n", "修改`pandas`默认绘图引擎为`plotly`(需要提前安装好`plotly`)" ] }, { "cell_type": "code", "execution_count": 180, "metadata": {}, "outputs": [], "source": [ "pd.set_option(\"plotting.backend\",\"plotly\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 还原所有 option 设置\n", "\n", "还原上面全部 option 设置" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "pd.reset_option(\"all\") " ] } ], "metadata": { "celltoolbar": "Tags", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": false, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": { "height": "calc(100% - 180px)", "left": "10px", "top": "150px", "width": "288px" }, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 4 }