{ "cells": [ { "cell_type": "markdown", "id": "196a647a-6faa-4aee-a0bf-a345852251dd", "metadata": {}, "source": [ "## 深入浅出pandas-1\n", "\n", "pandas是一个支持数据分析全流程的Python开源库,它的作者Wes McKinney于2008年开始开发这个库,其主要目标是提供一个大数据分析和处理的工具。pandas封装了从数据加载、数据重塑、数据清洗到数据透视、数据呈现等一系列操作,提供了三种核心的数据类型:\n", "1. `Series`:数据系列,表示一维的数据。跟一维数组的区别在于每条数据都有对应的索引,处理数据的方法比`ndarray`更为丰富。\n", "2. `DataFrame`:数据框、数据窗、数据表,表示二维的数据。跟二维数组相比,`DataFrame`有行索引和列索引,而且提供了100+方法来处理数据。\n", "3. `Index`:为`Series`和`DataFrame`提供索引服务。" ] }, { "cell_type": "code", "execution_count": 1, "id": "eb84f909-921a-47da-87b1-61578c871422", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "\n", "plt.rcParams['font.sans-serif'].insert(0, 'SimHei')\n", "plt.rcParams['axes.unicode_minus'] = False\n", "get_ipython().run_line_magic('config', \"InlineBackend.figure_format = 'svg'\")" ] }, { "cell_type": "markdown", "id": "2102e83e-2a6d-47aa-b449-c058bea1a601", "metadata": {}, "source": [ "### 创建DataFrame对象" ] }, { "cell_type": "code", "execution_count": 2, "id": "87dbde08-dcab-4ede-a791-b56e11dd9115", "metadata": {}, "outputs": [], "source": [ "np.random.seed(20)" ] }, { "cell_type": "code", "execution_count": 3, "id": "4c5b2767-2074-4cdf-b1ba-beff6f425942", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 95, 86, 75],\n", " [ 91, 88, 86],\n", " [ 69, 80, 71],\n", " [ 82, 67, 94],\n", " [ 92, 100, 81]])" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stu_names = ['狄仁杰', '白起', '李元芳', '苏妲己', '孙尚香']\n", "cou_names = ['语文', '数学', '英语']\n", "scores_arr = np.random.randint(60, 101, (5, 3))\n", "scores_arr" ] }, { "cell_type": "code", "execution_count": 4, "id": "f8c2a6bf-ca5e-479d-ab63-f5c3620186e3", "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", "
语文数学英语
狄仁杰958675
白起918886
李元芳698071
苏妲己826794
孙尚香9210081
\n", "
" ], "text/plain": [ " 语文 数学 英语\n", "狄仁杰 95 86 75\n", "白起 91 88 86\n", "李元芳 69 80 71\n", "苏妲己 82 67 94\n", "孙尚香 92 100 81" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 方法一:通过二维数组构造DataFrame对象\n", "df1 = pd.DataFrame(data=scores_arr, columns=cou_names, index=stu_names)\n", "df1" ] }, { "cell_type": "code", "execution_count": 5, "id": "baad5381-fb7d-4cc9-9288-a05d750144af", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['狄仁杰', '白起', '李元芳', '苏妲己', '孙尚香'], dtype='object')" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 行索引\n", "df1.index" ] }, { "cell_type": "code", "execution_count": 6, "id": "d7f06b76-b60b-49cb-be72-adafb0978fca", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['语文', '数学', '英语'], dtype='object')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 列索引\n", "df1.columns" ] }, { "cell_type": "code", "execution_count": 7, "id": "13b1275d-77e5-4d5d-b227-19db3f4196fd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 95, 86, 75],\n", " [ 91, 88, 86],\n", " [ 69, 80, 71],\n", " [ 82, 67, 94],\n", " [ 92, 100, 81]])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 值 - 二维数组\n", "df1.values" ] }, { "cell_type": "code", "execution_count": 8, "id": "dbf5bb11-1600-4ae4-bc95-369bc8189c20", "metadata": {}, "outputs": [], "source": [ "scores_dict = {\n", " '语文': [95, 91, 69, 82, 92],\n", " '数学': [86, 88, 80, 67, 100],\n", " '英语': [75, 86, 71, 94, 81]\n", "}" ] }, { "cell_type": "code", "execution_count": 9, "id": "c300bbbd-329a-4852-bf76-78ce1de02b8f", "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", "
语文数学英语
狄仁杰958675
白起918886
李元芳698071
苏妲己826794
孙尚香9210081
\n", "
" ], "text/plain": [ " 语文 数学 英语\n", "狄仁杰 95 86 75\n", "白起 91 88 86\n", "李元芳 69 80 71\n", "苏妲己 82 67 94\n", "孙尚香 92 100 81" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 方法二:通过数据字典构造DataFrame对象\n", "df2 = pd.DataFrame(data=scores_dict, index=stu_names)\n", "df2" ] }, { "cell_type": "code", "execution_count": 10, "id": "705c0de6-43ff-46c6-85d5-301743d18d43", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Index: 5 entries, 狄仁杰 to 孙尚香\n", "Data columns (total 3 columns):\n", " # Column Non-Null Count Dtype\n", "--- ------ -------------- -----\n", " 0 语文 5 non-null int64\n", " 1 数学 5 non-null int64\n", " 2 英语 5 non-null int64\n", "dtypes: int64(3)\n", "memory usage: 558.0 bytes\n" ] } ], "source": [ "# 查看DataFrame信息\n", "df2.info(memory_usage='deep')" ] }, { "cell_type": "code", "execution_count": 11, "id": "71417ac2-8f4b-4950-9336-de6fbc1f5da4", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
公示编号姓名出生年月单位名称积分分值
0202300001张浩1977-02北京首钢股份有限公司140.05
1202300002冯云1982-02中国人民解放军空军二十三厂134.29
2202300003王天东1975-01中建二局第三建筑工程有限公司133.63
3202300004陈军1976-07中建二局第三建筑工程有限公司133.29
4202300005樊海瑞1981-06中国民生银行股份有限公司132.46
..................
5998202305999曹恰1983-09首都师范大学科德学院109.92
5999202306000罗佳1981-05厦门方胜众合企业服务有限公司海淀分公司109.92
6000202306001席盛代1983-06中国华能集团清洁能源技术研究院有限公司109.92
6001202306002彭芸芸1981-09北京汉杰凯德文化传播有限公司109.92
6002202306003张越1982-01大爱城投资控股有限公司109.92
\n", "

6003 rows × 5 columns

\n", "
" ], "text/plain": [ " 公示编号 姓名 出生年月 单位名称 积分分值\n", "0 202300001 张浩 1977-02 北京首钢股份有限公司 140.05\n", "1 202300002 冯云 1982-02 中国人民解放军空军二十三厂 134.29\n", "2 202300003 王天东 1975-01 中建二局第三建筑工程有限公司 133.63\n", "3 202300004 陈军 1976-07 中建二局第三建筑工程有限公司 133.29\n", "4 202300005 樊海瑞 1981-06 中国民生银行股份有限公司 132.46\n", "... ... ... ... ... ...\n", "5998 202305999 曹恰 1983-09 首都师范大学科德学院 109.92\n", "5999 202306000 罗佳 1981-05 厦门方胜众合企业服务有限公司海淀分公司 109.92\n", "6000 202306001 席盛代 1983-06 中国华能集团清洁能源技术研究院有限公司 109.92\n", "6001 202306002 彭芸芸 1981-09 北京汉杰凯德文化传播有限公司 109.92\n", "6002 202306003 张越 1982-01 大爱城投资控股有限公司 109.92\n", "\n", "[6003 rows x 5 columns]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 方法三:从CSV文件加载数据创建DataFrame对象\n", "df3 = pd.read_csv(\n", " 'res/2023年北京积分落户数据.csv',\n", " # encoding='utf-8', # 指定字符编码\n", " # sep='', # 指定字段的分隔符(默认逗号)\n", " # delimiter='#',\n", " # header=0, # 表头所在的行\n", " # quotechar='\"', # 包裹字符串的字符(默认双引号)\n", " # index_col='公示编号', # 索引列\n", " # usecols=['公示编号', '姓名', '积分分值'], # 指定加载的列\n", " # nrows=10, # 加载的行数\n", " # skiprows=np.arange(1, 101), # 跳过哪些行\n", " # true_values=['是', 'Yes', 'YES'], # 哪些值会被视为布尔值True\n", " # false_values=['否', 'No', 'NO'], # 哪些值会被视为布尔值False\n", " # na_values=['---', 'N/A'], # 哪些值会被视为空值\n", " # iterator=True, # 开启迭代器模式\n", " # chunksize=1000, # 每次加载的数据体量\n", ")\n", "df3" ] }, { "cell_type": "code", "execution_count": 12, "id": "e9bd62fd-19d2-4ac1-97a6-3f6a0542e1df", "metadata": {}, "outputs": [], "source": [ "# %pip install openpyxl" ] }, { "cell_type": "code", "execution_count": 13, "id": "cb3387b9-3402-4b25-a5d5-ff9690a1ac06", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期销售区域销售渠道销售订单品牌售价销售数量直接成本
02020-01-01上海拼多多182894-455八匹马99833351
12020-01-01上海抖音205635-402八匹马219291016
22020-01-01上海天猫205654-021八匹马169856320
32020-01-01上海天猫205654-519八匹马16914485
42020-01-01上海天猫377781-010皮皮虾249612452
...........................
19402020-12-30北京京东D89677花花姑娘269261560
19412020-12-30福建实体182719-050八匹马79973028
19422020-12-31福建实体G70083花花姑娘269552277
19432020-12-31福建抖音211471-902/704八匹马5959852
19442020-12-31福建天猫211807-050八匹马9927435
\n", "

1945 rows × 8 columns

\n", "
" ], "text/plain": [ " 销售日期 销售区域 销售渠道 销售订单 品牌 售价 销售数量 直接成本\n", "0 2020-01-01 上海 拼多多 182894-455 八匹马 99 83 3351\n", "1 2020-01-01 上海 抖音 205635-402 八匹马 219 29 1016\n", "2 2020-01-01 上海 天猫 205654-021 八匹马 169 85 6320\n", "3 2020-01-01 上海 天猫 205654-519 八匹马 169 14 485\n", "4 2020-01-01 上海 天猫 377781-010 皮皮虾 249 61 2452\n", "... ... ... ... ... ... ... ... ...\n", "1940 2020-12-30 北京 京东 D89677 花花姑娘 269 26 1560\n", "1941 2020-12-30 福建 实体 182719-050 八匹马 79 97 3028\n", "1942 2020-12-31 福建 实体 G70083 花花姑娘 269 55 2277\n", "1943 2020-12-31 福建 抖音 211471-902/704 八匹马 59 59 852\n", "1944 2020-12-31 福建 天猫 211807-050 八匹马 99 27 435\n", "\n", "[1945 rows x 8 columns]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 方法四:从Excel文件加载数据创建DataFrame对象\n", "df6 = pd.read_excel(\n", " 'res/2020年销售数据.xlsx',\n", " sheet_name='data',\n", ")\n", "df6" ] }, { "cell_type": "code", "execution_count": 14, "id": "d06abbd8-9a34-4ab3-a75c-76e3ed8eb36c", "metadata": {}, "outputs": [], "source": [ "# %pip install -U pymysql cryptography sqlalchemy" ] }, { "cell_type": "code", "execution_count": 15, "id": "5aa0e35f-2a13-4c8e-a9fd-87b0bf72307e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Engine(mysql+pymysql://guest:***@47.109.26.237:3306/hrs)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 方法五:从数据服务器加载数据创建DataFrame对象\n", "from sqlalchemy import create_engine\n", "\n", "# URL \n", "engine = create_engine('mysql+pymysql://guest:Guest.618@47.109.26.237:3306/hrs')\n", "engine" ] }, { "cell_type": "code", "execution_count": 16, "id": "4b344f17-f5a1-4d7d-ad3c-ede4b122609c", "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", "
dnamedloc
dno
10会计部北京
20研发部成都
30销售部重庆
40运维部深圳
\n", "
" ], "text/plain": [ " dname dloc\n", "dno \n", "10 会计部 北京\n", "20 研发部 成都\n", "30 销售部 重庆\n", "40 运维部 深圳" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dept_df = pd.read_sql('tb_dept', engine, index_col='dno')\n", "dept_df" ] }, { "cell_type": "code", "execution_count": 17, "id": "c5d1ffa3-6962-4c26-ae92-a8d7bc7da0cb", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
enamejobmgrsalcommdno
eno
1359胡一刀销售员3344.01800200.030
2056乔峰分析师7800.050001500.020
3088李莫愁设计师2056.03500800.020
3211张无忌程序员2056.03200NaN20
3233丘处机程序员2056.03400NaN20
3244欧阳锋程序员3088.03200NaN20
3251张翠山程序员2056.04000NaN20
3344黄蓉销售主管7800.03000800.030
3577杨过会计5566.02200NaN10
3588朱九真会计5566.02500NaN10
4466苗人凤销售员3344.02500NaN30
5234郭靖出纳5566.02000NaN10
5566宋远桥会计师7800.040001000.010
7800张三丰总裁NaN90001200.020
\n", "
" ], "text/plain": [ " ename job mgr sal comm dno\n", "eno \n", "1359 胡一刀 销售员 3344.0 1800 200.0 30\n", "2056 乔峰 分析师 7800.0 5000 1500.0 20\n", "3088 李莫愁 设计师 2056.0 3500 800.0 20\n", "3211 张无忌 程序员 2056.0 3200 NaN 20\n", "3233 丘处机 程序员 2056.0 3400 NaN 20\n", "3244 欧阳锋 程序员 3088.0 3200 NaN 20\n", "3251 张翠山 程序员 2056.0 4000 NaN 20\n", "3344 黄蓉 销售主管 7800.0 3000 800.0 30\n", "3577 杨过 会计 5566.0 2200 NaN 10\n", "3588 朱九真 会计 5566.0 2500 NaN 10\n", "4466 苗人凤 销售员 3344.0 2500 NaN 30\n", "5234 郭靖 出纳 5566.0 2000 NaN 10\n", "5566 宋远桥 会计师 7800.0 4000 1000.0 10\n", "7800 张三丰 总裁 NaN 9000 1200.0 20" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "emp_df1 = pd.read_sql('tb_emp', engine, index_col='eno')\n", "emp_df1" ] }, { "cell_type": "code", "execution_count": 18, "id": "f84b6886-09d8-4f13-89cc-487574991dba", "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", "
enamejobmgrsalcommdno
eno
9500张三丰总裁NaN50000800020
9600王大锤程序员9800.0800060020
9700张三丰总裁NaN60000600020
9800骆昊架构师7800.030000500020
9900陈小刀分析师9800.010000120020
\n", "
" ], "text/plain": [ " ename job mgr sal comm dno\n", "eno \n", "9500 张三丰 总裁 NaN 50000 8000 20\n", "9600 王大锤 程序员 9800.0 8000 600 20\n", "9700 张三丰 总裁 NaN 60000 6000 20\n", "9800 骆昊 架构师 7800.0 30000 5000 20\n", "9900 陈小刀 分析师 9800.0 10000 1200 20" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "emp_df2 = pd.read_sql('tb_emp2', engine, index_col='eno')\n", "emp_df2" ] }, { "cell_type": "code", "execution_count": 19, "id": "c60e96d2-9a0d-4901-b39c-c31760de47a0", "metadata": {}, "outputs": [], "source": [ "# 关闭连接释放资源\n", "engine.connect().close()" ] }, { "cell_type": "markdown", "id": "12086a7a-c161-4753-9a8e-180f9e8b2edf", "metadata": {}, "source": [ "### 查看信息" ] }, { "cell_type": "code", "execution_count": 20, "id": "785e58f9-b3f7-49a6-affc-8caaa66cebf1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 1945 entries, 0 to 1944\n", "Data columns (total 8 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 销售日期 1945 non-null datetime64[ns]\n", " 1 销售区域 1945 non-null object \n", " 2 销售渠道 1945 non-null object \n", " 3 销售订单 1945 non-null object \n", " 4 品牌 1945 non-null object \n", " 5 售价 1945 non-null int64 \n", " 6 销售数量 1945 non-null int64 \n", " 7 直接成本 1945 non-null int64 \n", "dtypes: datetime64[ns](1), int64(3), object(4)\n", "memory usage: 121.7+ KB\n" ] } ], "source": [ "df6.info()" ] }, { "cell_type": "code", "execution_count": 21, "id": "fd8a9156-3939-430d-9738-60b3d8a95563", "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", "
销售日期销售区域销售渠道销售订单品牌售价销售数量直接成本
02020-01-01上海拼多多182894-455八匹马99833351
12020-01-01上海抖音205635-402八匹马219291016
22020-01-01上海天猫205654-021八匹马169856320
\n", "
" ], "text/plain": [ " 销售日期 销售区域 销售渠道 销售订单 品牌 售价 销售数量 直接成本\n", "0 2020-01-01 上海 拼多多 182894-455 八匹马 99 83 3351\n", "1 2020-01-01 上海 抖音 205635-402 八匹马 219 29 1016\n", "2 2020-01-01 上海 天猫 205654-021 八匹马 169 85 6320" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 获取前N行\n", "df6.head(3)" ] }, { "cell_type": "code", "execution_count": 22, "id": "b75ace23-9b92-4425-b58f-bcd81e8d72e7", "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", "
销售日期销售区域销售渠道销售订单品牌售价销售数量直接成本
19402020-12-30北京京东D89677花花姑娘269261560
19412020-12-30福建实体182719-050八匹马79973028
19422020-12-31福建实体G70083花花姑娘269552277
19432020-12-31福建抖音211471-902/704八匹马5959852
19442020-12-31福建天猫211807-050八匹马9927435
\n", "
" ], "text/plain": [ " 销售日期 销售区域 销售渠道 销售订单 品牌 售价 销售数量 直接成本\n", "1940 2020-12-30 北京 京东 D89677 花花姑娘 269 26 1560\n", "1941 2020-12-30 福建 实体 182719-050 八匹马 79 97 3028\n", "1942 2020-12-31 福建 实体 G70083 花花姑娘 269 55 2277\n", "1943 2020-12-31 福建 抖音 211471-902/704 八匹马 59 59 852\n", "1944 2020-12-31 福建 天猫 211807-050 八匹马 99 27 435" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 获取后N行\n", "df6.tail(5)" ] }, { "cell_type": "markdown", "id": "c2b2a909-0b40-473c-bb3f-85aca1925a19", "metadata": {}, "source": [ "### 操作行、列、单元格" ] }, { "cell_type": "code", "execution_count": 23, "id": "fe964b3b-7f51-4202-b528-f5102d9be9f0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 2020-01-01\n", "1 2020-01-01\n", "2 2020-01-01\n", "3 2020-01-01\n", "4 2020-01-01\n", " ... \n", "1940 2020-12-30\n", "1941 2020-12-30\n", "1942 2020-12-31\n", "1943 2020-12-31\n", "1944 2020-12-31\n", "Name: 销售日期, Length: 1945, dtype: datetime64[ns]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 访问列\n", "df6['销售日期']" ] }, { "cell_type": "code", "execution_count": 24, "id": "b2e5ccb3-4b97-4a02-8316-b1321390f286", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 拼多多\n", "1 抖音\n", "2 天猫\n", "3 天猫\n", "4 天猫\n", " ... \n", "1940 京东\n", "1941 实体\n", "1942 实体\n", "1943 抖音\n", "1944 天猫\n", "Name: 销售渠道, Length: 1945, dtype: object" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df6.销售渠道" ] }, { "cell_type": "code", "execution_count": 25, "id": "80ad78dc-4f47-4421-8478-ba7797350db4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 拼多多\n", "1 抖音\n", "2 天猫\n", "3 天猫\n", "4 天猫\n", " ... \n", "1940 京东\n", "1941 实体\n", "1942 实体\n", "1943 抖音\n", "1944 天猫\n", "Name: 销售渠道, Length: 1945, dtype: object" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df6['销售渠道']" ] }, { "cell_type": "code", "execution_count": 26, "id": "7b970671-6f16-4e07-8666-715495de2832", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "pandas.core.series.Series" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(df6['销售日期'])" ] }, { "cell_type": "code", "execution_count": 27, "id": "2c9cb56b-6a2b-479e-8c57-c61683858387", "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", "
销售渠道
0拼多多
1抖音
2天猫
3天猫
4天猫
......
1940京东
1941实体
1942实体
1943抖音
1944天猫
\n", "

1945 rows × 1 columns

\n", "
" ], "text/plain": [ " 销售渠道\n", "0 拼多多\n", "1 抖音\n", "2 天猫\n", "3 天猫\n", "4 天猫\n", "... ...\n", "1940 京东\n", "1941 实体\n", "1942 实体\n", "1943 抖音\n", "1944 天猫\n", "\n", "[1945 rows x 1 columns]" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df6[['销售渠道']]" ] }, { "cell_type": "code", "execution_count": 28, "id": "75730cd3-0459-4a62-97ee-e037256cc98a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "pandas.core.frame.DataFrame" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(df6[['销售渠道']])" ] }, { "cell_type": "code", "execution_count": 29, "id": "9e097e49-b762-4c9f-9d93-98abb1701d97", "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", "
销售日期销售区域直接成本
02020-01-01上海3351
12020-01-01上海1016
22020-01-01上海6320
32020-01-01上海485
42020-01-01上海2452
............
19402020-12-30北京1560
19412020-12-30福建3028
19422020-12-31福建2277
19432020-12-31福建852
19442020-12-31福建435
\n", "

1945 rows × 3 columns

\n", "
" ], "text/plain": [ " 销售日期 销售区域 直接成本\n", "0 2020-01-01 上海 3351\n", "1 2020-01-01 上海 1016\n", "2 2020-01-01 上海 6320\n", "3 2020-01-01 上海 485\n", "4 2020-01-01 上海 2452\n", "... ... ... ...\n", "1940 2020-12-30 北京 1560\n", "1941 2020-12-30 福建 3028\n", "1942 2020-12-31 福建 2277\n", "1943 2020-12-31 福建 852\n", "1944 2020-12-31 福建 435\n", "\n", "[1945 rows x 3 columns]" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 访问多个列 - 花式索引\n", "df6[['销售日期', '销售区域', '直接成本']]" ] }, { "cell_type": "code", "execution_count": 30, "id": "cf31a169-549e-4182-8206-789f97316115", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['销售订单', '品牌', '售价', '销售数量'], dtype='object')" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df6.columns[3:7]" ] }, { "cell_type": "code", "execution_count": 31, "id": "792713c0-13bc-4810-86cc-5f6f6ce78719", "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", "
销售订单品牌售价销售数量
0182894-455八匹马9983
1205635-402八匹马21929
2205654-021八匹马16985
3205654-519八匹马16914
4377781-010皮皮虾24961
...............
1940D89677花花姑娘26926
1941182719-050八匹马7997
1942G70083花花姑娘26955
1943211471-902/704八匹马5959
1944211807-050八匹马9927
\n", "

1945 rows × 4 columns

\n", "
" ], "text/plain": [ " 销售订单 品牌 售价 销售数量\n", "0 182894-455 八匹马 99 83\n", "1 205635-402 八匹马 219 29\n", "2 205654-021 八匹马 169 85\n", "3 205654-519 八匹马 169 14\n", "4 377781-010 皮皮虾 249 61\n", "... ... ... ... ...\n", "1940 D89677 花花姑娘 269 26\n", "1941 182719-050 八匹马 79 97\n", "1942 G70083 花花姑娘 269 55\n", "1943 211471-902/704 八匹马 59 59\n", "1944 211807-050 八匹马 99 27\n", "\n", "[1945 rows x 4 columns]" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df6[df6.columns[3:7]]" ] }, { "cell_type": "code", "execution_count": 32, "id": "02d43b17-15e3-44d5-844b-a50d365bf863", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "销售日期 2020-12-31 00:00:00\n", "销售区域 福建\n", "销售渠道 天猫\n", "销售订单 211807-050\n", "品牌 八匹马\n", "售价 99\n", "销售数量 27\n", "直接成本 435\n", "Name: 1944, dtype: object" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 访问行 - loc属性\n", "df6.loc[1944]" ] }, { "cell_type": "code", "execution_count": 33, "id": "79da6932-f985-44dc-9f4b-e051e4749c65", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "销售日期 2020-12-31 00:00:00\n", "销售区域 福建\n", "销售渠道 天猫\n", "销售订单 211807-050\n", "品牌 八匹马\n", "售价 99\n", "销售数量 27\n", "直接成本 435\n", "Name: 1944, dtype: object" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df6.iloc[-1]" ] }, { "cell_type": "code", "execution_count": 34, "id": "6246b39b-7229-4e0f-af7b-0915e707492a", "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", " \n", " \n", " \n", " \n", "
销售日期销售区域销售渠道销售订单品牌售价销售数量直接成本
02020-01-01上海拼多多182894-455八匹马99833351
1002020-01-15福建天猫529753-010皮皮虾329181839
582020-01-10北京天猫AWDH584-1壁虎299141495
10002020-05-29上海天猫G71332花花姑娘8999235120
10002020-05-29上海天猫G71332花花姑娘8999235120
10002020-05-29上海天猫G71332花花姑娘8999235120
10992020-06-17上海拼多多G70077花花姑娘329382266
\n", "
" ], "text/plain": [ " 销售日期 销售区域 销售渠道 销售订单 品牌 售价 销售数量 直接成本\n", "0 2020-01-01 上海 拼多多 182894-455 八匹马 99 83 3351\n", "100 2020-01-15 福建 天猫 529753-010 皮皮虾 329 18 1839\n", "58 2020-01-10 北京 天猫 AWDH584-1 壁虎 299 14 1495\n", "1000 2020-05-29 上海 天猫 G71332 花花姑娘 899 92 35120\n", "1000 2020-05-29 上海 天猫 G71332 花花姑娘 899 92 35120\n", "1000 2020-05-29 上海 天猫 G71332 花花姑娘 899 92 35120\n", "1099 2020-06-17 上海 拼多多 G70077 花花姑娘 329 38 2266" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 访问多行 - 花式索引\n", "df6.loc[[0, 100, 58, 1000, 1000, 1000, 1099]]" ] }, { "cell_type": "code", "execution_count": 35, "id": "77321324-0ca9-4c2e-a792-3c717189cb27", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期销售区域销售渠道销售订单品牌售价销售数量直接成本
1012020-01-15福建天猫532500-011皮皮虾399422771
1022020-01-15福建京东543179-011皮皮虾4299210216
1032020-01-15福建实体543367-077皮皮虾11997316161
1042020-01-15福建拼多多634872-021皮皮虾179461322
1052020-01-15福建抖音ADLG008-1壁虎239656154
...........................
1962020-01-26福建拼多多449794-494皮皮虾249989996
1972020-01-26福建抖音543330-063皮皮虾549323581
1982020-01-26福建天猫575088-010皮皮虾399404088
1992020-01-26福建天猫575107-010皮皮虾449324144
2002020-01-26福建天猫182721-050八匹马99853439
\n", "

100 rows × 8 columns

\n", "
" ], "text/plain": [ " 销售日期 销售区域 销售渠道 销售订单 品牌 售价 销售数量 直接成本\n", "101 2020-01-15 福建 天猫 532500-011 皮皮虾 399 42 2771\n", "102 2020-01-15 福建 京东 543179-011 皮皮虾 429 92 10216\n", "103 2020-01-15 福建 实体 543367-077 皮皮虾 1199 73 16161\n", "104 2020-01-15 福建 拼多多 634872-021 皮皮虾 179 46 1322\n", "105 2020-01-15 福建 抖音 ADLG008-1 壁虎 239 65 6154\n", ".. ... ... ... ... ... ... ... ...\n", "196 2020-01-26 福建 拼多多 449794-494 皮皮虾 249 98 9996\n", "197 2020-01-26 福建 抖音 543330-063 皮皮虾 549 32 3581\n", "198 2020-01-26 福建 天猫 575088-010 皮皮虾 399 40 4088\n", "199 2020-01-26 福建 天猫 575107-010 皮皮虾 449 32 4144\n", "200 2020-01-26 福建 天猫 182721-050 八匹马 99 85 3439\n", "\n", "[100 rows x 8 columns]" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 访问多行 - 切片索引\n", "df6.loc[101:200]" ] }, { "cell_type": "code", "execution_count": 36, "id": "5eb250eb-18e0-4181-a37a-dec55c633116", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期销售区域销售渠道销售订单品牌售价销售数量直接成本
1012020-01-15福建天猫532500-011皮皮虾399422771
1022020-01-15福建京东543179-011皮皮虾4299210216
1032020-01-15福建实体543367-077皮皮虾11997316161
1042020-01-15福建拼多多634872-021皮皮虾179461322
1052020-01-15福建抖音ADLG008-1壁虎239656154
...........................
1952020-01-26福建实体449794-091皮皮虾249783424
1962020-01-26福建拼多多449794-494皮皮虾249989996
1972020-01-26福建抖音543330-063皮皮虾549323581
1982020-01-26福建天猫575088-010皮皮虾399404088
1992020-01-26福建天猫575107-010皮皮虾449324144
\n", "

99 rows × 8 columns

\n", "
" ], "text/plain": [ " 销售日期 销售区域 销售渠道 销售订单 品牌 售价 销售数量 直接成本\n", "101 2020-01-15 福建 天猫 532500-011 皮皮虾 399 42 2771\n", "102 2020-01-15 福建 京东 543179-011 皮皮虾 429 92 10216\n", "103 2020-01-15 福建 实体 543367-077 皮皮虾 1199 73 16161\n", "104 2020-01-15 福建 拼多多 634872-021 皮皮虾 179 46 1322\n", "105 2020-01-15 福建 抖音 ADLG008-1 壁虎 239 65 6154\n", ".. ... ... ... ... ... ... ... ...\n", "195 2020-01-26 福建 实体 449794-091 皮皮虾 249 78 3424\n", "196 2020-01-26 福建 拼多多 449794-494 皮皮虾 249 98 9996\n", "197 2020-01-26 福建 抖音 543330-063 皮皮虾 549 32 3581\n", "198 2020-01-26 福建 天猫 575088-010 皮皮虾 399 40 4088\n", "199 2020-01-26 福建 天猫 575107-010 皮皮虾 449 32 4144\n", "\n", "[99 rows x 8 columns]" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# df6[101:200]\n", "df6.iloc[101:200]" ] }, { "cell_type": "code", "execution_count": 37, "id": "f2daddd7-3635-40b1-9416-c1137315948c", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期销售区域销售渠道销售订单品牌售价销售数量直接成本
19442020-12-31福建天猫211807-050八匹马9927435
19432020-12-31福建抖音211471-902/704八匹马5959852
19422020-12-31福建实体G70083花花姑娘269552277
19412020-12-30福建实体182719-050八匹马79973028
19402020-12-30北京京东D89677花花姑娘269261560
...........................
18492020-12-03福建抖音543458-452皮皮虾229171041
18482020-12-03福建实体211894-021八匹马169763844
18472020-12-02北京京东182894-455八匹马9922731
18462020-12-01北京天猫158609-477八匹马79802436
18452020-12-01北京天猫G89395花花姑娘369925291
\n", "

100 rows × 8 columns

\n", "
" ], "text/plain": [ " 销售日期 销售区域 销售渠道 销售订单 品牌 售价 销售数量 直接成本\n", "1944 2020-12-31 福建 天猫 211807-050 八匹马 99 27 435\n", "1943 2020-12-31 福建 抖音 211471-902/704 八匹马 59 59 852\n", "1942 2020-12-31 福建 实体 G70083 花花姑娘 269 55 2277\n", "1941 2020-12-30 福建 实体 182719-050 八匹马 79 97 3028\n", "1940 2020-12-30 北京 京东 D89677 花花姑娘 269 26 1560\n", "... ... ... ... ... ... ... ... ...\n", "1849 2020-12-03 福建 抖音 543458-452 皮皮虾 229 17 1041\n", "1848 2020-12-03 福建 实体 211894-021 八匹马 169 76 3844\n", "1847 2020-12-02 北京 京东 182894-455 八匹马 99 22 731\n", "1846 2020-12-01 北京 天猫 158609-477 八匹马 79 80 2436\n", "1845 2020-12-01 北京 天猫 G89395 花花姑娘 369 92 5291\n", "\n", "[100 rows x 8 columns]" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df6.iloc[-1:-101:-1]" ] }, { "cell_type": "code", "execution_count": 38, "id": "9321811f-e62b-4db5-a478-cdc0934f097b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "169" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 访问单元格\n", "df6.at[2, '售价']" ] }, { "cell_type": "code", "execution_count": 39, "id": "bd1670bc-0a13-457f-95f1-352a4d61b3a7", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期销售区域销售渠道销售订单品牌售价销售数量直接成本
02020-01-01上海拼多多182894-455八匹马99833351
12020-01-01上海抖音205635-402八匹马219291016
22020-01-01上海天猫205654-021八匹马999856320
32020-01-01上海天猫205654-519八匹马16914485
42020-01-01上海天猫377781-010皮皮虾249612452
...........................
19402020-12-30北京京东D89677花花姑娘269261560
19412020-12-30福建实体182719-050八匹马79973028
19422020-12-31福建实体G70083花花姑娘269552277
19432020-12-31福建抖音211471-902/704八匹马5959852
19442020-12-31福建天猫211807-050八匹马9927435
\n", "

1945 rows × 8 columns

\n", "
" ], "text/plain": [ " 销售日期 销售区域 销售渠道 销售订单 品牌 售价 销售数量 直接成本\n", "0 2020-01-01 上海 拼多多 182894-455 八匹马 99 83 3351\n", "1 2020-01-01 上海 抖音 205635-402 八匹马 219 29 1016\n", "2 2020-01-01 上海 天猫 205654-021 八匹马 999 85 6320\n", "3 2020-01-01 上海 天猫 205654-519 八匹马 169 14 485\n", "4 2020-01-01 上海 天猫 377781-010 皮皮虾 249 61 2452\n", "... ... ... ... ... ... ... ... ...\n", "1940 2020-12-30 北京 京东 D89677 花花姑娘 269 26 1560\n", "1941 2020-12-30 福建 实体 182719-050 八匹马 79 97 3028\n", "1942 2020-12-31 福建 实体 G70083 花花姑娘 269 55 2277\n", "1943 2020-12-31 福建 抖音 211471-902/704 八匹马 59 59 852\n", "1944 2020-12-31 福建 天猫 211807-050 八匹马 99 27 435\n", "\n", "[1945 rows x 8 columns]" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df6.at[2, '售价'] = 999\n", "df6" ] }, { "cell_type": "code", "execution_count": 40, "id": "7460ef03-3f45-4cc0-99a3-85039c2606b0", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期销售区域销售渠道销售订单品牌售价销售数量直接成本
02020-01-01上海拼多多182894-455八匹马99833351
12020-01-01上海抖音205635-402八匹马219291016
22020-01-01上海天猫205654-021八匹马888856320
32020-01-01上海天猫205654-519八匹马16914485
42020-01-01上海天猫377781-010皮皮虾249612452
...........................
19402020-12-30北京京东D89677花花姑娘269261560
19412020-12-30福建实体182719-050八匹马79973028
19422020-12-31福建实体G70083花花姑娘269552277
19432020-12-31福建抖音211471-902/704八匹马5959852
19442020-12-31福建天猫211807-050八匹马9927435
\n", "

1945 rows × 8 columns

\n", "
" ], "text/plain": [ " 销售日期 销售区域 销售渠道 销售订单 品牌 售价 销售数量 直接成本\n", "0 2020-01-01 上海 拼多多 182894-455 八匹马 99 83 3351\n", "1 2020-01-01 上海 抖音 205635-402 八匹马 219 29 1016\n", "2 2020-01-01 上海 天猫 205654-021 八匹马 888 85 6320\n", "3 2020-01-01 上海 天猫 205654-519 八匹马 169 14 485\n", "4 2020-01-01 上海 天猫 377781-010 皮皮虾 249 61 2452\n", "... ... ... ... ... ... ... ... ...\n", "1940 2020-12-30 北京 京东 D89677 花花姑娘 269 26 1560\n", "1941 2020-12-30 福建 实体 182719-050 八匹马 79 97 3028\n", "1942 2020-12-31 福建 实体 G70083 花花姑娘 269 55 2277\n", "1943 2020-12-31 福建 抖音 211471-902/704 八匹马 59 59 852\n", "1944 2020-12-31 福建 天猫 211807-050 八匹马 99 27 435\n", "\n", "[1945 rows x 8 columns]" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df6.iat[2, -3] = 888\n", "df6" ] }, { "cell_type": "code", "execution_count": 41, "id": "34c81da6-f58f-4c36-8596-004266e9374b", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期销售区域销售渠道销售订单品牌售价销售数量直接成本销售额季度月份
02020-01-01上海拼多多182894-455八匹马99833351821711
12020-01-01上海抖音205635-402八匹马219291016635111
22020-01-01上海天猫205654-021八匹马8888563207548011
32020-01-01上海天猫205654-519八匹马16914485236611
42020-01-01上海天猫377781-010皮皮虾2496124521518911
....................................
19402020-12-30北京京东D89677花花姑娘2692615606994412
19412020-12-30福建实体182719-050八匹马799730287663412
19422020-12-31福建实体G70083花花姑娘26955227714795412
19432020-12-31福建抖音211471-902/704八匹马59598523481412
19442020-12-31福建天猫211807-050八匹马99274352673412
\n", "

1945 rows × 11 columns

\n", "
" ], "text/plain": [ " 销售日期 销售区域 销售渠道 销售订单 品牌 售价 销售数量 直接成本 销售额 季度 \\\n", "0 2020-01-01 上海 拼多多 182894-455 八匹马 99 83 3351 8217 1 \n", "1 2020-01-01 上海 抖音 205635-402 八匹马 219 29 1016 6351 1 \n", "2 2020-01-01 上海 天猫 205654-021 八匹马 888 85 6320 75480 1 \n", "3 2020-01-01 上海 天猫 205654-519 八匹马 169 14 485 2366 1 \n", "4 2020-01-01 上海 天猫 377781-010 皮皮虾 249 61 2452 15189 1 \n", "... ... ... ... ... ... ... ... ... ... .. \n", "1940 2020-12-30 北京 京东 D89677 花花姑娘 269 26 1560 6994 4 \n", "1941 2020-12-30 福建 实体 182719-050 八匹马 79 97 3028 7663 4 \n", "1942 2020-12-31 福建 实体 G70083 花花姑娘 269 55 2277 14795 4 \n", "1943 2020-12-31 福建 抖音 211471-902/704 八匹马 59 59 852 3481 4 \n", "1944 2020-12-31 福建 天猫 211807-050 八匹马 99 27 435 2673 4 \n", "\n", " 月份 \n", "0 1 \n", "1 1 \n", "2 1 \n", "3 1 \n", "4 1 \n", "... .. \n", "1940 12 \n", "1941 12 \n", "1942 12 \n", "1943 12 \n", "1944 12 \n", "\n", "[1945 rows x 11 columns]" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 添加列\n", "df6['销售额'] = df6['售价'] * df6['销售数量']\n", "df6['季度'] = df6['销售日期'].dt.quarter\n", "df6['月份'] = df6['销售日期'].dt.month\n", "df6" ] }, { "cell_type": "code", "execution_count": 42, "id": "c3c60210-202d-4bd8-8804-1d657746b29c", "metadata": {}, "outputs": [], "source": [ "# 添加行 - 实际工作中基本没有意义" ] }, { "cell_type": "code", "execution_count": 43, "id": "6bf78f3d-05a2-4c7a-a0f0-fb6659f1bd6f", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期销售区域销售渠道销售订单品牌售价销售数量直接成本销售额月份
02020-01-01上海拼多多182894-455八匹马9983335182171
12020-01-01上海抖音205635-402八匹马21929101663511
22020-01-01上海天猫205654-021八匹马888856320754801
32020-01-01上海天猫205654-519八匹马1691448523661
42020-01-01上海天猫377781-010皮皮虾249612452151891
.................................
19402020-12-30北京京东D89677花花姑娘269261560699412
19412020-12-30福建实体182719-050八匹马79973028766312
19422020-12-31福建实体G70083花花姑娘2695522771479512
19432020-12-31福建抖音211471-902/704八匹马5959852348112
19442020-12-31福建天猫211807-050八匹马9927435267312
\n", "

1945 rows × 10 columns

\n", "
" ], "text/plain": [ " 销售日期 销售区域 销售渠道 销售订单 品牌 售价 销售数量 直接成本 销售额 月份\n", "0 2020-01-01 上海 拼多多 182894-455 八匹马 99 83 3351 8217 1\n", "1 2020-01-01 上海 抖音 205635-402 八匹马 219 29 1016 6351 1\n", "2 2020-01-01 上海 天猫 205654-021 八匹马 888 85 6320 75480 1\n", "3 2020-01-01 上海 天猫 205654-519 八匹马 169 14 485 2366 1\n", "4 2020-01-01 上海 天猫 377781-010 皮皮虾 249 61 2452 15189 1\n", "... ... ... ... ... ... ... ... ... ... ..\n", "1940 2020-12-30 北京 京东 D89677 花花姑娘 269 26 1560 6994 12\n", "1941 2020-12-30 福建 实体 182719-050 八匹马 79 97 3028 7663 12\n", "1942 2020-12-31 福建 实体 G70083 花花姑娘 269 55 2277 14795 12\n", "1943 2020-12-31 福建 抖音 211471-902/704 八匹马 59 59 852 3481 12\n", "1944 2020-12-31 福建 天猫 211807-050 八匹马 99 27 435 2673 12\n", "\n", "[1945 rows x 10 columns]" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 删除列\n", "# inplace=False - 默认设定 - 不修改原对象返回修改后的新对象\n", "# inplace=True - 直接修改DataFrame对象不返回新对象 - 方法没有返回值\n", "df6.drop(columns=['季度'], inplace=True)\n", "df6" ] }, { "cell_type": "code", "execution_count": 44, "id": "cdf8cf10-5193-4c38-8fef-bc3d38a8a0a8", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期销售区域销售渠道销售订单品牌售价销售数量直接成本销售额月份
32020-01-01上海天猫205654-519八匹马1691448523661
42020-01-01上海天猫377781-010皮皮虾249612452151891
52020-01-02上海京东543369-010皮皮虾7996815203543321
62020-01-02上海拼多多588685-002皮皮虾299918008272091
72020-01-03上海天猫AKLH641-1壁虎239824127195981
.................................
19382020-12-29北京拼多多588682-010皮皮虾2695043881345012
19392020-12-29北京天猫599007-513皮皮虾349182466628212
19402020-12-30北京京东D89677花花姑娘269261560699412
19412020-12-30福建实体182719-050八匹马79973028766312
19422020-12-31福建实体G70083花花姑娘2695522771479512
\n", "

1939 rows × 10 columns

\n", "
" ], "text/plain": [ " 销售日期 销售区域 销售渠道 销售订单 品牌 售价 销售数量 直接成本 销售额 月份\n", "3 2020-01-01 上海 天猫 205654-519 八匹马 169 14 485 2366 1\n", "4 2020-01-01 上海 天猫 377781-010 皮皮虾 249 61 2452 15189 1\n", "5 2020-01-02 上海 京东 543369-010 皮皮虾 799 68 15203 54332 1\n", "6 2020-01-02 上海 拼多多 588685-002 皮皮虾 299 91 8008 27209 1\n", "7 2020-01-03 上海 天猫 AKLH641-1 壁虎 239 82 4127 19598 1\n", "... ... ... ... ... ... ... ... ... ... ..\n", "1938 2020-12-29 北京 拼多多 588682-010 皮皮虾 269 50 4388 13450 12\n", "1939 2020-12-29 北京 天猫 599007-513 皮皮虾 349 18 2466 6282 12\n", "1940 2020-12-30 北京 京东 D89677 花花姑娘 269 26 1560 6994 12\n", "1941 2020-12-30 福建 实体 182719-050 八匹马 79 97 3028 7663 12\n", "1942 2020-12-31 福建 实体 G70083 花花姑娘 269 55 2277 14795 12\n", "\n", "[1939 rows x 10 columns]" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 删除行\n", "# df6.drop(index=[0, 1, 2, 100, 1944, 1943])\n", "df6.drop(index=[0, 1, 2, 100, 1944, 1943], inplace=True)\n", "df6" ] }, { "cell_type": "code", "execution_count": 45, "id": "1ddfe77d-aa92-4d6a-b2db-8469b1222ed3", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期销售区域销售渠道销售订单品牌售价销售数量直接成本销售额月份
32020-01-01上海天猫205654-519八匹马1691448523661
42020-01-01上海天猫377781-010皮皮虾249612452151891
52020-01-02上海京东543369-010皮皮虾7996815203543321
62020-01-02上海拼多多588685-002皮皮虾299918008272091
72020-01-03上海天猫AKLH641-1壁虎239824127195981
.................................
19382020-12-29北京拼多多588682-010皮皮虾2695043881345012
19392020-12-29北京天猫599007-513皮皮虾349182466628212
19402020-12-30北京京东D89677花花姑娘269261560699412
19412020-12-30福建实体182719-050八匹马79973028766312
19422020-12-31福建实体G70083花花姑娘2695522771479512
\n", "

1839 rows × 10 columns

\n", "
" ], "text/plain": [ " 销售日期 销售区域 销售渠道 销售订单 品牌 售价 销售数量 直接成本 销售额 月份\n", "3 2020-01-01 上海 天猫 205654-519 八匹马 169 14 485 2366 1\n", "4 2020-01-01 上海 天猫 377781-010 皮皮虾 249 61 2452 15189 1\n", "5 2020-01-02 上海 京东 543369-010 皮皮虾 799 68 15203 54332 1\n", "6 2020-01-02 上海 拼多多 588685-002 皮皮虾 299 91 8008 27209 1\n", "7 2020-01-03 上海 天猫 AKLH641-1 壁虎 239 82 4127 19598 1\n", "... ... ... ... ... ... ... ... ... ... ..\n", "1938 2020-12-29 北京 拼多多 588682-010 皮皮虾 269 50 4388 13450 12\n", "1939 2020-12-29 北京 天猫 599007-513 皮皮虾 349 18 2466 6282 12\n", "1940 2020-12-30 北京 京东 D89677 花花姑娘 269 26 1560 6994 12\n", "1941 2020-12-30 福建 实体 182719-050 八匹马 79 97 3028 7663 12\n", "1942 2020-12-31 福建 实体 G70083 花花姑娘 269 55 2277 14795 12\n", "\n", "[1839 rows x 10 columns]" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df6.drop(index=df6.index[100:200], inplace=True)\n", "df6" ] }, { "cell_type": "code", "execution_count": 46, "id": "8020bbb0-740e-496a-9224-fe3495a19c92", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期区域渠道订单号品牌售价销售数量直接成本销售额月份
32020-01-01上海天猫205654-519八匹马1691448523661
42020-01-01上海天猫377781-010皮皮虾249612452151891
52020-01-02上海京东543369-010皮皮虾7996815203543321
62020-01-02上海拼多多588685-002皮皮虾299918008272091
72020-01-03上海天猫AKLH641-1壁虎239824127195981
.................................
19382020-12-29北京拼多多588682-010皮皮虾2695043881345012
19392020-12-29北京天猫599007-513皮皮虾349182466628212
19402020-12-30北京京东D89677花花姑娘269261560699412
19412020-12-30福建实体182719-050八匹马79973028766312
19422020-12-31福建实体G70083花花姑娘2695522771479512
\n", "

1839 rows × 10 columns

\n", "
" ], "text/plain": [ " 销售日期 区域 渠道 订单号 品牌 售价 销售数量 直接成本 销售额 月份\n", "3 2020-01-01 上海 天猫 205654-519 八匹马 169 14 485 2366 1\n", "4 2020-01-01 上海 天猫 377781-010 皮皮虾 249 61 2452 15189 1\n", "5 2020-01-02 上海 京东 543369-010 皮皮虾 799 68 15203 54332 1\n", "6 2020-01-02 上海 拼多多 588685-002 皮皮虾 299 91 8008 27209 1\n", "7 2020-01-03 上海 天猫 AKLH641-1 壁虎 239 82 4127 19598 1\n", "... ... .. ... ... ... ... ... ... ... ..\n", "1938 2020-12-29 北京 拼多多 588682-010 皮皮虾 269 50 4388 13450 12\n", "1939 2020-12-29 北京 天猫 599007-513 皮皮虾 349 18 2466 6282 12\n", "1940 2020-12-30 北京 京东 D89677 花花姑娘 269 26 1560 6994 12\n", "1941 2020-12-30 福建 实体 182719-050 八匹马 79 97 3028 7663 12\n", "1942 2020-12-31 福建 实体 G70083 花花姑娘 269 55 2277 14795 12\n", "\n", "[1839 rows x 10 columns]" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 重命名\n", "df6.rename(columns={'销售区域': '区域', '销售渠道': '渠道', '销售订单': '订单号'}, inplace=True)\n", "df6" ] }, { "cell_type": "code", "execution_count": 47, "id": "d028d2be-0944-4b70-a3ea-f7d06cdd458f", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期区域渠道订单号品牌售价销售数量直接成本销售额月份
02020-01-01上海天猫205654-519八匹马1691448523661
12020-01-01上海天猫377781-010皮皮虾249612452151891
22020-01-02上海京东543369-010皮皮虾7996815203543321
32020-01-02上海拼多多588685-002皮皮虾299918008272091
42020-01-03上海天猫AKLH641-1壁虎239824127195981
.................................
18342020-12-29北京拼多多588682-010皮皮虾2695043881345012
18352020-12-29北京天猫599007-513皮皮虾349182466628212
18362020-12-30北京京东D89677花花姑娘269261560699412
18372020-12-30福建实体182719-050八匹马79973028766312
18382020-12-31福建实体G70083花花姑娘2695522771479512
\n", "

1839 rows × 10 columns

\n", "
" ], "text/plain": [ " 销售日期 区域 渠道 订单号 品牌 售价 销售数量 直接成本 销售额 月份\n", "0 2020-01-01 上海 天猫 205654-519 八匹马 169 14 485 2366 1\n", "1 2020-01-01 上海 天猫 377781-010 皮皮虾 249 61 2452 15189 1\n", "2 2020-01-02 上海 京东 543369-010 皮皮虾 799 68 15203 54332 1\n", "3 2020-01-02 上海 拼多多 588685-002 皮皮虾 299 91 8008 27209 1\n", "4 2020-01-03 上海 天猫 AKLH641-1 壁虎 239 82 4127 19598 1\n", "... ... .. ... ... ... ... ... ... ... ..\n", "1834 2020-12-29 北京 拼多多 588682-010 皮皮虾 269 50 4388 13450 12\n", "1835 2020-12-29 北京 天猫 599007-513 皮皮虾 349 18 2466 6282 12\n", "1836 2020-12-30 北京 京东 D89677 花花姑娘 269 26 1560 6994 12\n", "1837 2020-12-30 福建 实体 182719-050 八匹马 79 97 3028 7663 12\n", "1838 2020-12-31 福建 实体 G70083 花花姑娘 269 55 2277 14795 12\n", "\n", "[1839 rows x 10 columns]" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 重置索引\n", "# drop=False - 默认值 - 原来的索引变成一个普通列\n", "# drop=True - 原来的索引直接丢弃\n", "df6.reset_index(drop=True, inplace=True)\n", "df6" ] }, { "cell_type": "code", "execution_count": 48, "id": "cb55a518-f4bd-4fac-8554-4353c0798bc6", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期区域渠道品牌售价销售数量直接成本销售额月份
订单号
205654-5192020-01-01上海天猫八匹马1691448523661
377781-0102020-01-01上海天猫皮皮虾249612452151891
543369-0102020-01-02上海京东皮皮虾7996815203543321
588685-0022020-01-02上海拼多多皮皮虾299918008272091
AKLH641-12020-01-03上海天猫壁虎239824127195981
..............................
588682-0102020-12-29北京拼多多皮皮虾2695043881345012
599007-5132020-12-29北京天猫皮皮虾349182466628212
D896772020-12-30北京京东花花姑娘269261560699412
182719-0502020-12-30福建实体八匹马79973028766312
G700832020-12-31福建实体花花姑娘2695522771479512
\n", "

1839 rows × 9 columns

\n", "
" ], "text/plain": [ " 销售日期 区域 渠道 品牌 售价 销售数量 直接成本 销售额 月份\n", "订单号 \n", "205654-519 2020-01-01 上海 天猫 八匹马 169 14 485 2366 1\n", "377781-010 2020-01-01 上海 天猫 皮皮虾 249 61 2452 15189 1\n", "543369-010 2020-01-02 上海 京东 皮皮虾 799 68 15203 54332 1\n", "588685-002 2020-01-02 上海 拼多多 皮皮虾 299 91 8008 27209 1\n", "AKLH641-1 2020-01-03 上海 天猫 壁虎 239 82 4127 19598 1\n", "... ... .. ... ... ... ... ... ... ..\n", "588682-010 2020-12-29 北京 拼多多 皮皮虾 269 50 4388 13450 12\n", "599007-513 2020-12-29 北京 天猫 皮皮虾 349 18 2466 6282 12\n", "D89677 2020-12-30 北京 京东 花花姑娘 269 26 1560 6994 12\n", "182719-050 2020-12-30 福建 实体 八匹马 79 97 3028 7663 12\n", "G70083 2020-12-31 福建 实体 花花姑娘 269 55 2277 14795 12\n", "\n", "[1839 rows x 9 columns]" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 设置索引\n", "df6.set_index('订单号', inplace=True)\n", "df6" ] }, { "cell_type": "code", "execution_count": 49, "id": "101bd804-5a90-4cd3-a545-613df6d9b8e5", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期区域渠道品牌售价销售数量直接成本销售额月份
订单号
G705092020-02-03北京拼多多花花姑娘149989523021334112
G721862020-04-11江苏天猫花花姑娘129988183811143124
543367-0772020-04-12北京拼多多皮皮虾119988256741055124
G681882020-06-08北京拼多多花花姑娘129980298191039206
577714-0102020-06-17上海拼多多皮皮虾119997408841163036
543367-0772020-08-28上海天猫皮皮虾119989454421067118
G681882020-09-19广东拼多多花花姑娘129993342901208079
\n", "
" ], "text/plain": [ " 销售日期 区域 渠道 品牌 售价 销售数量 直接成本 销售额 月份\n", "订单号 \n", "G70509 2020-02-03 北京 拼多多 花花姑娘 1499 89 52302 133411 2\n", "G72186 2020-04-11 江苏 天猫 花花姑娘 1299 88 18381 114312 4\n", "543367-077 2020-04-12 北京 拼多多 皮皮虾 1199 88 25674 105512 4\n", "G68188 2020-06-08 北京 拼多多 花花姑娘 1299 80 29819 103920 6\n", "577714-010 2020-06-17 上海 拼多多 皮皮虾 1199 97 40884 116303 6\n", "543367-077 2020-08-28 上海 天猫 皮皮虾 1199 89 45442 106711 8\n", "G68188 2020-09-19 广东 拼多多 花花姑娘 1299 93 34290 120807 9" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 筛选数据 - 布尔索引\n", "df6[df6['销售额'] > 100000]" ] }, { "cell_type": "code", "execution_count": 50, "id": "64c83a43-fcb0-4ba1-9400-ae4a5b21715c", "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", "
销售日期区域渠道品牌售价销售数量直接成本销售额月份
订单号
G681882020-06-08北京拼多多花花姑娘129980298191039206
577714-0102020-06-17上海拼多多皮皮虾119997408841163036
\n", "
" ], "text/plain": [ " 销售日期 区域 渠道 品牌 售价 销售数量 直接成本 销售额 月份\n", "订单号 \n", "G68188 2020-06-08 北京 拼多多 花花姑娘 1299 80 29819 103920 6\n", "577714-010 2020-06-17 上海 拼多多 皮皮虾 1199 97 40884 116303 6" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df6[(df6['销售额'] > 100000) & (df6['月份'] == 6)]" ] }, { "cell_type": "code", "execution_count": 51, "id": "22c01e56-b188-40f7-9e53-3a3d2f0bcb29", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期区域渠道品牌售价销售数量直接成本销售额月份
订单号
G705092020-02-03北京拼多多花花姑娘149989523021334112
G721862020-04-11江苏天猫花花姑娘129988183811143124
543367-0772020-04-12北京拼多多皮皮虾119988256741055124
204396-900/0212020-06-01北京拼多多啊哟喂199554221109456
AHSJ008-22020-06-01北京天猫壁虎13961364084796
..............................
543179-0112020-06-30上海京东皮皮虾4297411601317466
AKLH641-12020-06-30上海实体壁虎239673490160136
158631-0502020-06-30北京天猫八匹马9989142188116
543367-0772020-08-28上海天猫皮皮虾119989454421067118
G681882020-09-19广东拼多多花花姑娘129993342901208079
\n", "

152 rows × 9 columns

\n", "
" ], "text/plain": [ " 销售日期 区域 渠道 品牌 售价 销售数量 直接成本 销售额 月份\n", "订单号 \n", "G70509 2020-02-03 北京 拼多多 花花姑娘 1499 89 52302 133411 2\n", "G72186 2020-04-11 江苏 天猫 花花姑娘 1299 88 18381 114312 4\n", "543367-077 2020-04-12 北京 拼多多 皮皮虾 1199 88 25674 105512 4\n", "204396-900/021 2020-06-01 北京 拼多多 啊哟喂 199 55 4221 10945 6\n", "AHSJ008-2 2020-06-01 北京 天猫 壁虎 139 61 3640 8479 6\n", "... ... .. ... ... ... ... ... ... ..\n", "543179-011 2020-06-30 上海 京东 皮皮虾 429 74 11601 31746 6\n", "AKLH641-1 2020-06-30 上海 实体 壁虎 239 67 3490 16013 6\n", "158631-050 2020-06-30 北京 天猫 八匹马 99 89 1421 8811 6\n", "543367-077 2020-08-28 上海 天猫 皮皮虾 1199 89 45442 106711 8\n", "G68188 2020-09-19 广东 拼多多 花花姑娘 1299 93 34290 120807 9\n", "\n", "[152 rows x 9 columns]" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df6[(df6['销售额'] > 100000) | (df6['月份'] == 6)]" ] }, { "cell_type": "code", "execution_count": 52, "id": "5adb86b9-8b31-49cb-9292-94189f3714c5", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期区域渠道品牌售价销售数量直接成本销售额月份
订单号
G705092020-02-03北京拼多多花花姑娘149989523021334112
G721862020-04-11江苏天猫花花姑娘129988183811143124
543367-0772020-04-12北京拼多多皮皮虾119988256741055124
G681882020-06-08北京拼多多花花姑娘129980298191039206
577714-0102020-06-17上海拼多多皮皮虾119997408841163036
543367-0772020-08-28上海天猫皮皮虾119989454421067118
G681882020-09-19广东拼多多花花姑娘129993342901208079
\n", "
" ], "text/plain": [ " 销售日期 区域 渠道 品牌 售价 销售数量 直接成本 销售额 月份\n", "订单号 \n", "G70509 2020-02-03 北京 拼多多 花花姑娘 1499 89 52302 133411 2\n", "G72186 2020-04-11 江苏 天猫 花花姑娘 1299 88 18381 114312 4\n", "543367-077 2020-04-12 北京 拼多多 皮皮虾 1199 88 25674 105512 4\n", "G68188 2020-06-08 北京 拼多多 花花姑娘 1299 80 29819 103920 6\n", "577714-010 2020-06-17 上海 拼多多 皮皮虾 1199 97 40884 116303 6\n", "543367-077 2020-08-28 上海 天猫 皮皮虾 1199 89 45442 106711 8\n", "G68188 2020-09-19 广东 拼多多 花花姑娘 1299 93 34290 120807 9" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df6.query('销售额 > 100000')" ] }, { "cell_type": "code", "execution_count": 53, "id": "b768afa0-7066-4a1d-8f10-b88386587388", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期区域渠道品牌售价销售数量直接成本销售额月份
订单号
D860562020-06-01北京实体花花姑娘469243445112566
543179-0112020-06-02北京实体皮皮虾429588002248826
AKLH651-22020-06-04北京实体壁虎299783577233226
F893962020-06-07福建实体花花姑娘199937370185076
X235672020-06-09上海实体花花姑娘429466484197346
G711832020-06-10北京实体花花姑娘369939247343176
D894582020-06-11北京实体花花姑娘299856379254156
AKLJ034-32020-06-12福建实体壁虎239818048193596
AHSJ017-32020-06-13福建实体壁虎139965892133446
182802-0502020-06-15上海实体八匹马19926176051746
G702602020-06-15福建实体花花姑娘32915149149356
FT001-18-17632020-06-17上海实体八匹马6999825835685026
182717-0012020-06-18北京实体八匹马69102556906
158631-0502020-06-20福建实体八匹马9966267065346
D876922020-06-22福建实体花花姑娘399825058327186
158636-0502020-06-25北京实体八匹马1192278126186
G808252020-06-28北京实体花花姑娘3998412260335166
X123992020-06-29上海实体花花姑娘329834926273076
AKLH641-12020-06-30上海实体壁虎239673490160136
\n", "
" ], "text/plain": [ " 销售日期 区域 渠道 品牌 售价 销售数量 直接成本 销售额 月份\n", "订单号 \n", "D86056 2020-06-01 北京 实体 花花姑娘 469 24 3445 11256 6\n", "543179-011 2020-06-02 北京 实体 皮皮虾 429 58 8002 24882 6\n", "AKLH651-2 2020-06-04 北京 实体 壁虎 299 78 3577 23322 6\n", "F89396 2020-06-07 福建 实体 花花姑娘 199 93 7370 18507 6\n", "X23567 2020-06-09 上海 实体 花花姑娘 429 46 6484 19734 6\n", "G71183 2020-06-10 北京 实体 花花姑娘 369 93 9247 34317 6\n", "D89458 2020-06-11 北京 实体 花花姑娘 299 85 6379 25415 6\n", "AKLJ034-3 2020-06-12 福建 实体 壁虎 239 81 8048 19359 6\n", "AHSJ017-3 2020-06-13 福建 实体 壁虎 139 96 5892 13344 6\n", "182802-050 2020-06-15 上海 实体 八匹马 199 26 1760 5174 6\n", "G70260 2020-06-15 福建 实体 花花姑娘 329 15 1491 4935 6\n", "FT001-18-1763 2020-06-17 上海 实体 八匹马 699 98 25835 68502 6\n", "182717-001 2020-06-18 北京 实体 八匹马 69 10 255 690 6\n", "158631-050 2020-06-20 福建 实体 八匹马 99 66 2670 6534 6\n", "D87692 2020-06-22 福建 实体 花花姑娘 399 82 5058 32718 6\n", "158636-050 2020-06-25 北京 实体 八匹马 119 22 781 2618 6\n", "G80825 2020-06-28 北京 实体 花花姑娘 399 84 12260 33516 6\n", "X12399 2020-06-29 上海 实体 花花姑娘 329 83 4926 27307 6\n", "AKLH641-1 2020-06-30 上海 实体 壁虎 239 67 3490 16013 6" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df6.query('月份 == 6 and 渠道 == \"实体\"')" ] }, { "cell_type": "code", "execution_count": 54, "id": "2e57b21c-0565-4352-8924-de169497bce0", "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", "
销售日期区域渠道品牌售价销售数量直接成本销售额月份
订单号
G681882020-06-08北京拼多多花花姑娘129980298191039206
577714-0102020-06-17上海拼多多皮皮虾119997408841163036
\n", "
" ], "text/plain": [ " 销售日期 区域 渠道 品牌 售价 销售数量 直接成本 销售额 月份\n", "订单号 \n", "G68188 2020-06-08 北京 拼多多 花花姑娘 1299 80 29819 103920 6\n", "577714-010 2020-06-17 上海 拼多多 皮皮虾 1199 97 40884 116303 6" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df6.query('销售额 > 100000 and 月份 == 6')" ] }, { "cell_type": "code", "execution_count": 55, "id": "7ef8ba56-5293-41b0-8208-85a0eed735e8", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期区域渠道品牌售价销售数量直接成本销售额月份
订单号
205333-0312020-12-21北京京东八匹马1699861501656212
F767172020-06-24福建天猫花花姑娘42915240364356
577714-0102020-02-01北京天猫皮皮虾11995522707659452
F455622020-04-16福建天猫花花姑娘5999014111539104
211466-901/5192020-01-29上海天猫八匹马199524651103481
..............................
F767162020-04-20上海天猫花花姑娘4297011772300304
G696272020-06-09北京天猫花花姑娘9993614206359646
588670-0102020-02-15上海抖音皮皮虾4997515335374252
D860412020-03-11上海天猫花花姑娘399405490159603
204266-0502020-09-26上海抖音啊哟喂239464116109949
\n", "

100 rows × 9 columns

\n", "
" ], "text/plain": [ " 销售日期 区域 渠道 品牌 售价 销售数量 直接成本 销售额 月份\n", "订单号 \n", "205333-031 2020-12-21 北京 京东 八匹马 169 98 6150 16562 12\n", "F76717 2020-06-24 福建 天猫 花花姑娘 429 15 2403 6435 6\n", "577714-010 2020-02-01 北京 天猫 皮皮虾 1199 55 22707 65945 2\n", "F45562 2020-04-16 福建 天猫 花花姑娘 599 90 14111 53910 4\n", "211466-901/519 2020-01-29 上海 天猫 八匹马 199 52 4651 10348 1\n", "... ... .. .. ... ... ... ... ... ..\n", "F76716 2020-04-20 上海 天猫 花花姑娘 429 70 11772 30030 4\n", "G69627 2020-06-09 北京 天猫 花花姑娘 999 36 14206 35964 6\n", "588670-010 2020-02-15 上海 抖音 皮皮虾 499 75 15335 37425 2\n", "D86041 2020-03-11 上海 天猫 花花姑娘 399 40 5490 15960 3\n", "204266-050 2020-09-26 上海 抖音 啊哟喂 239 46 4116 10994 9\n", "\n", "[100 rows x 9 columns]" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 随机抽样\n", "df6.sample(n=100)" ] }, { "cell_type": "code", "execution_count": 56, "id": "bfcd52d7-eac4-4776-b0e3-a37e67e349f3", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期区域渠道品牌售价销售数量直接成本销售额月份
订单号
G749042020-08-18北京京东花花姑娘4998815952439128
D890962020-03-29上海拼多多花花姑娘3997313022291273
F893992020-02-14上海抖音花花姑娘499465758229542
D876922020-10-29福建拼多多花花姑娘3994880741915210
205301-4772020-11-24广东京东八匹马199471762935311
..............................
543369-0102020-01-02上海京东皮皮虾7996815203543321
G722122020-07-07江苏天猫花花姑娘899456922404557
479935-0122020-08-02北京京东皮皮虾34925209887258
480239-0102020-09-02福建抖音皮皮虾299364384107649
AWDH721-22020-07-04上海抖音壁虎269394597104917
\n", "

92 rows × 9 columns

\n", "
" ], "text/plain": [ " 销售日期 区域 渠道 品牌 售价 销售数量 直接成本 销售额 月份\n", "订单号 \n", "G74904 2020-08-18 北京 京东 花花姑娘 499 88 15952 43912 8\n", "D89096 2020-03-29 上海 拼多多 花花姑娘 399 73 13022 29127 3\n", "F89399 2020-02-14 上海 抖音 花花姑娘 499 46 5758 22954 2\n", "D87692 2020-10-29 福建 拼多多 花花姑娘 399 48 8074 19152 10\n", "205301-477 2020-11-24 广东 京东 八匹马 199 47 1762 9353 11\n", "... ... .. ... ... ... ... ... ... ..\n", "543369-010 2020-01-02 上海 京东 皮皮虾 799 68 15203 54332 1\n", "G72212 2020-07-07 江苏 天猫 花花姑娘 899 45 6922 40455 7\n", "479935-012 2020-08-02 北京 京东 皮皮虾 349 25 2098 8725 8\n", "480239-010 2020-09-02 福建 抖音 皮皮虾 299 36 4384 10764 9\n", "AWDH721-2 2020-07-04 上海 抖音 壁虎 269 39 4597 10491 7\n", "\n", "[92 rows x 9 columns]" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df6.sample(frac=0.05)" ] }, { "cell_type": "code", "execution_count": 57, "id": "1c654ca8-3179-4fa2-9213-7d7029357342", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期销售区域销售渠道销售订单品牌售价销售数量直接成本
02020-01-01上海天猫205654-021八匹马169856320
12020-01-01上海天猫377781-010皮皮虾249612452
22020-01-03上海天猫FT001-N10八匹马699508380
32020-01-04上海实体FT001-N10八匹马699152635
42020-01-06上海抖音G70357花花姑娘699498809
...........................
1902020-12-05福建抖音G69924花花姑娘599757057
1912020-12-07福建拼多多182898-258八匹马99992506
1922020-12-10北京抖音AKLJ041-2壁虎269421746
1932020-12-21北京京东205333-031八匹马169986150
1942020-12-24福建实体D88376花花姑娘269322006
\n", "

195 rows × 8 columns

\n", "
" ], "text/plain": [ " 销售日期 销售区域 销售渠道 销售订单 品牌 售价 销售数量 直接成本\n", "0 2020-01-01 上海 天猫 205654-021 八匹马 169 85 6320\n", "1 2020-01-01 上海 天猫 377781-010 皮皮虾 249 61 2452\n", "2 2020-01-03 上海 天猫 FT001-N10 八匹马 699 50 8380\n", "3 2020-01-04 上海 实体 FT001-N10 八匹马 699 15 2635\n", "4 2020-01-06 上海 抖音 G70357 花花姑娘 699 49 8809\n", ".. ... ... ... ... ... ... ... ...\n", "190 2020-12-05 福建 抖音 G69924 花花姑娘 599 75 7057\n", "191 2020-12-07 福建 拼多多 182898-258 八匹马 99 99 2506\n", "192 2020-12-10 北京 抖音 AKLJ041-2 壁虎 269 42 1746\n", "193 2020-12-21 北京 京东 205333-031 八匹马 169 98 6150\n", "194 2020-12-24 福建 实体 D88376 花花姑娘 269 32 2006\n", "\n", "[195 rows x 8 columns]" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# replace=False - 无放回抽样\n", "ignore_rows = np.random.choice(np.arange(1, 1946), size=int(1945 * 0.9), replace=False)\n", "pd.read_excel(\n", " 'res/2020年销售数据.xlsx',\n", " sheet_name='data',\n", " skiprows=ignore_rows\n", ")" ] }, { "cell_type": "markdown", "id": "2037ed6a-d616-4c67-9f5d-ea517d6e1c6b", "metadata": {}, "source": [ "### 数据重塑\n", "\n", "1. 拼接(合并结构一致的数据)\n", "2. 合并(事实表连接维度表)" ] }, { "cell_type": "code", "execution_count": 58, "id": "d2184fd4-bd44-459f-bda4-6dc11c09c219", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(19, 6)" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 拼接两个DataFrame - union\n", "all_emp_df = pd.concat([emp_df1, emp_df2])\n", "all_emp_df.shape" ] }, { "cell_type": "code", "execution_count": 59, "id": "05bc65a1-42ac-463c-a089-08fb8dc60855", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
enamejobmgrsalcommdnodnamedloc
0胡一刀销售员3344.01800200.030销售部重庆
1乔峰分析师7800.050001500.020研发部成都
2李莫愁设计师2056.03500800.020研发部成都
3张无忌程序员2056.03200NaN20研发部成都
4丘处机程序员2056.03400NaN20研发部成都
5欧阳锋程序员3088.03200NaN20研发部成都
6张翠山程序员2056.04000NaN20研发部成都
7黄蓉销售主管7800.03000800.030销售部重庆
8杨过会计5566.02200NaN10会计部北京
9朱九真会计5566.02500NaN10会计部北京
10苗人凤销售员3344.02500NaN30销售部重庆
11郭靖出纳5566.02000NaN10会计部北京
12宋远桥会计师7800.040001000.010会计部北京
13张三丰总裁NaN90001200.020研发部成都
14张三丰总裁NaN500008000.020研发部成都
15王大锤程序员9800.08000600.020研发部成都
16张三丰总裁NaN600006000.020研发部成都
17骆昊架构师7800.0300005000.020研发部成都
18陈小刀分析师9800.0100001200.020研发部成都
\n", "
" ], "text/plain": [ " ename job mgr sal comm dno dname dloc\n", "0 胡一刀 销售员 3344.0 1800 200.0 30 销售部 重庆\n", "1 乔峰 分析师 7800.0 5000 1500.0 20 研发部 成都\n", "2 李莫愁 设计师 2056.0 3500 800.0 20 研发部 成都\n", "3 张无忌 程序员 2056.0 3200 NaN 20 研发部 成都\n", "4 丘处机 程序员 2056.0 3400 NaN 20 研发部 成都\n", "5 欧阳锋 程序员 3088.0 3200 NaN 20 研发部 成都\n", "6 张翠山 程序员 2056.0 4000 NaN 20 研发部 成都\n", "7 黄蓉 销售主管 7800.0 3000 800.0 30 销售部 重庆\n", "8 杨过 会计 5566.0 2200 NaN 10 会计部 北京\n", "9 朱九真 会计 5566.0 2500 NaN 10 会计部 北京\n", "10 苗人凤 销售员 3344.0 2500 NaN 30 销售部 重庆\n", "11 郭靖 出纳 5566.0 2000 NaN 10 会计部 北京\n", "12 宋远桥 会计师 7800.0 4000 1000.0 10 会计部 北京\n", "13 张三丰 总裁 NaN 9000 1200.0 20 研发部 成都\n", "14 张三丰 总裁 NaN 50000 8000.0 20 研发部 成都\n", "15 王大锤 程序员 9800.0 8000 600.0 20 研发部 成都\n", "16 张三丰 总裁 NaN 60000 6000.0 20 研发部 成都\n", "17 骆昊 架构师 7800.0 30000 5000.0 20 研发部 成都\n", "18 陈小刀 分析师 9800.0 10000 1200.0 20 研发部 成都" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 连表 - 连接事实表和维度表 - 用维度把数据分组然后再做聚合\n", "# 连接两个DataFrame(内连接、左外连接、右外连接、全外连接)- join\n", "# how - 连表方式 - inner、left、right、outer\n", "# on - 基于哪个字段连表 - left_on、right_on\n", "all_emp_df = pd.merge(all_emp_df, dept_df, how='inner', on='dno')\n", "all_emp_df" ] }, { "cell_type": "code", "execution_count": 60, "id": "c6a3d52d-a04c-494d-9ee9-2dad9805b1c1", "metadata": {}, "outputs": [], "source": [ "# 作业:在jobs目录下有若干个CVS文件,它们的数据结构是一样的,现在需要把所有CSV文件的数据拼接到一个DataFrame中\n", "import os\n", "\n", "dfs = [pd.read_csv(os.path.join('res/jobs', filename))\n", " for filename in os.listdir('res/jobs') \n", " if filename.endswith('.csv')]\n", "pd.concat(dfs, ignore_index=True).to_csv('res/all_jobs.csv', index=False)" ] }, { "cell_type": "markdown", "id": "6b9ad1e1-fe5d-45a0-8755-ac6720a32ba0", "metadata": {}, "source": [ "### 数据清洗\n", "\n", "1. 缺失值\n", "2. 重复值\n", "3. 异常值\n", "4. 预处理" ] }, { "cell_type": "code", "execution_count": 61, "id": "45c835c4-559f-45f1-a501-70a8c12bbbb1", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
enamejobmgrsalcommdnodnamedloc
0FalseFalseFalseFalseFalseFalseFalseFalse
1FalseFalseFalseFalseFalseFalseFalseFalse
2FalseFalseFalseFalseFalseFalseFalseFalse
3FalseFalseFalseFalseTrueFalseFalseFalse
4FalseFalseFalseFalseTrueFalseFalseFalse
5FalseFalseFalseFalseTrueFalseFalseFalse
6FalseFalseFalseFalseTrueFalseFalseFalse
7FalseFalseFalseFalseFalseFalseFalseFalse
8FalseFalseFalseFalseTrueFalseFalseFalse
9FalseFalseFalseFalseTrueFalseFalseFalse
10FalseFalseFalseFalseTrueFalseFalseFalse
11FalseFalseFalseFalseTrueFalseFalseFalse
12FalseFalseFalseFalseFalseFalseFalseFalse
13FalseFalseTrueFalseFalseFalseFalseFalse
14FalseFalseTrueFalseFalseFalseFalseFalse
15FalseFalseFalseFalseFalseFalseFalseFalse
16FalseFalseTrueFalseFalseFalseFalseFalse
17FalseFalseFalseFalseFalseFalseFalseFalse
18FalseFalseFalseFalseFalseFalseFalseFalse
\n", "
" ], "text/plain": [ " ename job mgr sal comm dno dname dloc\n", "0 False False False False False False False False\n", "1 False False False False False False False False\n", "2 False False False False False False False False\n", "3 False False False False True False False False\n", "4 False False False False True False False False\n", "5 False False False False True False False False\n", "6 False False False False True False False False\n", "7 False False False False False False False False\n", "8 False False False False True False False False\n", "9 False False False False True False False False\n", "10 False False False False True False False False\n", "11 False False False False True False False False\n", "12 False False False False False False False False\n", "13 False False True False False False False False\n", "14 False False True False False False False False\n", "15 False False False False False False False False\n", "16 False False True False False False False False\n", "17 False False False False False False False False\n", "18 False False False False False False False False" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 甄别缺失值\n", "all_emp_df.isna()" ] }, { "cell_type": "code", "execution_count": 62, "id": "fd7fbdf8-ebf2-463b-ac3b-cdb24560873a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 False\n", "1 False\n", "2 False\n", "3 True\n", "4 True\n", "5 True\n", "6 True\n", "7 False\n", "8 True\n", "9 True\n", "10 True\n", "11 True\n", "12 False\n", "13 False\n", "14 False\n", "15 False\n", "16 False\n", "17 False\n", "18 False\n", "Name: comm, dtype: bool" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# all_emp_df['comm'].isna()\n", "all_emp_df['comm'].isnull()" ] }, { "cell_type": "code", "execution_count": 63, "id": "a4f16d30-83e9-4761-92a1-780e85e721e1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 True\n", "1 True\n", "2 True\n", "3 False\n", "4 False\n", "5 False\n", "6 False\n", "7 True\n", "8 False\n", "9 False\n", "10 False\n", "11 False\n", "12 True\n", "13 True\n", "14 True\n", "15 True\n", "16 True\n", "17 True\n", "18 True\n", "Name: comm, dtype: bool" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# all_emp_df['comm'].notna()\n", "all_emp_df['comm'].notnull()" ] }, { "cell_type": "code", "execution_count": 64, "id": "9f2a153d-ab4a-475e-9ee3-0d623a289f7f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "comm\n", "True 11\n", "False 8\n", "Name: count, dtype: int64" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_emp_df['comm'].notna().value_counts()" ] }, { "cell_type": "code", "execution_count": 65, "id": "5d388d57-fa1a-405b-880e-9316354a6f05", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
enamejobmgrsalcommdnodnamedloc
0胡一刀销售员3344.01800200.030销售部重庆
1乔峰分析师7800.050001500.020研发部成都
2李莫愁设计师2056.03500800.020研发部成都
7黄蓉销售主管7800.03000800.030销售部重庆
12宋远桥会计师7800.040001000.010会计部北京
15王大锤程序员9800.08000600.020研发部成都
17骆昊架构师7800.0300005000.020研发部成都
18陈小刀分析师9800.0100001200.020研发部成都
\n", "
" ], "text/plain": [ " ename job mgr sal comm dno dname dloc\n", "0 胡一刀 销售员 3344.0 1800 200.0 30 销售部 重庆\n", "1 乔峰 分析师 7800.0 5000 1500.0 20 研发部 成都\n", "2 李莫愁 设计师 2056.0 3500 800.0 20 研发部 成都\n", "7 黄蓉 销售主管 7800.0 3000 800.0 30 销售部 重庆\n", "12 宋远桥 会计师 7800.0 4000 1000.0 10 会计部 北京\n", "15 王大锤 程序员 9800.0 8000 600.0 20 研发部 成都\n", "17 骆昊 架构师 7800.0 30000 5000.0 20 研发部 成都\n", "18 陈小刀 分析师 9800.0 10000 1200.0 20 研发部 成都" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 删除空值 - 删除带有空值的行\n", "all_emp_df.dropna()" ] }, { "cell_type": "code", "execution_count": 66, "id": "b40fa037-3fab-454e-a300-2e9dcf4b2b60", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
enamejobsaldnodnamedloc
0胡一刀销售员180030销售部重庆
1乔峰分析师500020研发部成都
2李莫愁设计师350020研发部成都
3张无忌程序员320020研发部成都
4丘处机程序员340020研发部成都
5欧阳锋程序员320020研发部成都
6张翠山程序员400020研发部成都
7黄蓉销售主管300030销售部重庆
8杨过会计220010会计部北京
9朱九真会计250010会计部北京
10苗人凤销售员250030销售部重庆
11郭靖出纳200010会计部北京
12宋远桥会计师400010会计部北京
13张三丰总裁900020研发部成都
14张三丰总裁5000020研发部成都
15王大锤程序员800020研发部成都
16张三丰总裁6000020研发部成都
17骆昊架构师3000020研发部成都
18陈小刀分析师1000020研发部成都
\n", "
" ], "text/plain": [ " ename job sal dno dname dloc\n", "0 胡一刀 销售员 1800 30 销售部 重庆\n", "1 乔峰 分析师 5000 20 研发部 成都\n", "2 李莫愁 设计师 3500 20 研发部 成都\n", "3 张无忌 程序员 3200 20 研发部 成都\n", "4 丘处机 程序员 3400 20 研发部 成都\n", "5 欧阳锋 程序员 3200 20 研发部 成都\n", "6 张翠山 程序员 4000 20 研发部 成都\n", "7 黄蓉 销售主管 3000 30 销售部 重庆\n", "8 杨过 会计 2200 10 会计部 北京\n", "9 朱九真 会计 2500 10 会计部 北京\n", "10 苗人凤 销售员 2500 30 销售部 重庆\n", "11 郭靖 出纳 2000 10 会计部 北京\n", "12 宋远桥 会计师 4000 10 会计部 北京\n", "13 张三丰 总裁 9000 20 研发部 成都\n", "14 张三丰 总裁 50000 20 研发部 成都\n", "15 王大锤 程序员 8000 20 研发部 成都\n", "16 张三丰 总裁 60000 20 研发部 成都\n", "17 骆昊 架构师 30000 20 研发部 成都\n", "18 陈小刀 分析师 10000 20 研发部 成都" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_emp_df.dropna(axis=1)" ] }, { "cell_type": "code", "execution_count": 67, "id": "67ae21a1-7dc1-496b-85b5-013d79d25a63", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 3344.0\n", "1 7800.0\n", "2 2056.0\n", "3 2056.0\n", "4 2056.0\n", "5 3088.0\n", "6 2056.0\n", "7 7800.0\n", "8 5566.0\n", "9 5566.0\n", "10 3344.0\n", "11 5566.0\n", "12 7800.0\n", "15 9800.0\n", "17 7800.0\n", "18 9800.0\n", "Name: mgr, dtype: float64" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_emp_df.mgr.dropna()" ] }, { "cell_type": "code", "execution_count": 68, "id": "66745379-9db7-42b0-ab6b-a55e870a515b", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
enamejobmgrsalcommdnodnamedloc
0胡一刀销售员3344.01800200.030销售部重庆
1乔峰分析师7800.050001500.020研发部成都
2李莫愁设计师2056.03500800.020研发部成都
3张无忌程序员2056.032000.020研发部成都
4丘处机程序员2056.034000.020研发部成都
5欧阳锋程序员3088.032000.020研发部成都
6张翠山程序员2056.040000.020研发部成都
7黄蓉销售主管7800.03000800.030销售部重庆
8杨过会计5566.022000.010会计部北京
9朱九真会计5566.025000.010会计部北京
10苗人凤销售员3344.025000.030销售部重庆
11郭靖出纳5566.020000.010会计部北京
12宋远桥会计师7800.040001000.010会计部北京
13张三丰总裁0.090001200.020研发部成都
14张三丰总裁0.0500008000.020研发部成都
15王大锤程序员9800.08000600.020研发部成都
16张三丰总裁0.0600006000.020研发部成都
17骆昊架构师7800.0300005000.020研发部成都
18陈小刀分析师9800.0100001200.020研发部成都
\n", "
" ], "text/plain": [ " ename job mgr sal comm dno dname dloc\n", "0 胡一刀 销售员 3344.0 1800 200.0 30 销售部 重庆\n", "1 乔峰 分析师 7800.0 5000 1500.0 20 研发部 成都\n", "2 李莫愁 设计师 2056.0 3500 800.0 20 研发部 成都\n", "3 张无忌 程序员 2056.0 3200 0.0 20 研发部 成都\n", "4 丘处机 程序员 2056.0 3400 0.0 20 研发部 成都\n", "5 欧阳锋 程序员 3088.0 3200 0.0 20 研发部 成都\n", "6 张翠山 程序员 2056.0 4000 0.0 20 研发部 成都\n", "7 黄蓉 销售主管 7800.0 3000 800.0 30 销售部 重庆\n", "8 杨过 会计 5566.0 2200 0.0 10 会计部 北京\n", "9 朱九真 会计 5566.0 2500 0.0 10 会计部 北京\n", "10 苗人凤 销售员 3344.0 2500 0.0 30 销售部 重庆\n", "11 郭靖 出纳 5566.0 2000 0.0 10 会计部 北京\n", "12 宋远桥 会计师 7800.0 4000 1000.0 10 会计部 北京\n", "13 张三丰 总裁 0.0 9000 1200.0 20 研发部 成都\n", "14 张三丰 总裁 0.0 50000 8000.0 20 研发部 成都\n", "15 王大锤 程序员 9800.0 8000 600.0 20 研发部 成都\n", "16 张三丰 总裁 0.0 60000 6000.0 20 研发部 成都\n", "17 骆昊 架构师 7800.0 30000 5000.0 20 研发部 成都\n", "18 陈小刀 分析师 9800.0 10000 1200.0 20 研发部 成都" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 填充空值\n", "all_emp_df.fillna(0)" ] }, { "cell_type": "code", "execution_count": 69, "id": "e1664115-30e0-4946-ae4b-c919bb319ddc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 200\n", "1 1500\n", "2 800\n", "3 0\n", "4 0\n", "5 0\n", "6 0\n", "7 800\n", "8 0\n", "9 0\n", "10 0\n", "11 0\n", "12 1000\n", "13 1200\n", "14 8000\n", "15 600\n", "16 6000\n", "17 5000\n", "18 1200\n", "Name: comm, dtype: int64" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_emp_df.comm.fillna(0).astype('i8')" ] }, { "cell_type": "code", "execution_count": 70, "id": "e1743531-66a2-42a4-8c28-ad268efc848c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 200.0\n", "1 1500.0\n", "2 800.0\n", "3 800.0\n", "4 800.0\n", "5 800.0\n", "6 800.0\n", "7 800.0\n", "8 1000.0\n", "9 1000.0\n", "10 1000.0\n", "11 1000.0\n", "12 1000.0\n", "13 1200.0\n", "14 8000.0\n", "15 600.0\n", "16 6000.0\n", "17 5000.0\n", "18 1200.0\n", "Name: comm, dtype: float64" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 将空值下方的非空值向上填充 - backward fill\n", "all_emp_df.comm.bfill()" ] }, { "cell_type": "code", "execution_count": 71, "id": "5fcef0a0-ff29-42bd-9955-5a97595390fd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 200.0\n", "1 1500.0\n", "2 800.0\n", "3 800.0\n", "4 800.0\n", "5 800.0\n", "6 800.0\n", "7 800.0\n", "8 800.0\n", "9 800.0\n", "10 800.0\n", "11 800.0\n", "12 1000.0\n", "13 1200.0\n", "14 8000.0\n", "15 600.0\n", "16 6000.0\n", "17 5000.0\n", "18 1200.0\n", "Name: comm, dtype: float64" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 将空值上方的非空值向下填充 - forward fill\n", "all_emp_df.comm.ffill()" ] }, { "cell_type": "code", "execution_count": 72, "id": "eeeb9be3-802c-44e3-80a0-465aba1a485a", "metadata": {}, "outputs": [], "source": [ "# 通过插值算法填充空值 - interpolate\n", "all_emp_df['comm'] = all_emp_df.comm.interpolate(method='linear')" ] }, { "cell_type": "code", "execution_count": 73, "id": "f1f094c3-1cc2-4826-a04a-24150ea9cef8", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
enamejobmgrsalcommdnodnamedloc
0胡一刀销售员3344.0180020030销售部重庆
1乔峰分析师7800.05000150020研发部成都
2李莫愁设计师2056.0350080020研发部成都
3张无忌程序员2056.0320080020研发部成都
4丘处机程序员2056.0340080020研发部成都
5欧阳锋程序员3088.0320080020研发部成都
6张翠山程序员2056.0400080020研发部成都
7黄蓉销售主管7800.0300080030销售部重庆
8杨过会计5566.0220084010会计部北京
9朱九真会计5566.0250088010会计部北京
10苗人凤销售员3344.0250092030销售部重庆
11郭靖出纳5566.0200096010会计部北京
12宋远桥会计师7800.04000100010会计部北京
13张三丰总裁NaN9000120020研发部成都
14张三丰总裁NaN50000800020研发部成都
15王大锤程序员9800.0800060020研发部成都
16张三丰总裁NaN60000600020研发部成都
17骆昊架构师7800.030000500020研发部成都
18陈小刀分析师9800.010000120020研发部成都
\n", "
" ], "text/plain": [ " ename job mgr sal comm dno dname dloc\n", "0 胡一刀 销售员 3344.0 1800 200 30 销售部 重庆\n", "1 乔峰 分析师 7800.0 5000 1500 20 研发部 成都\n", "2 李莫愁 设计师 2056.0 3500 800 20 研发部 成都\n", "3 张无忌 程序员 2056.0 3200 800 20 研发部 成都\n", "4 丘处机 程序员 2056.0 3400 800 20 研发部 成都\n", "5 欧阳锋 程序员 3088.0 3200 800 20 研发部 成都\n", "6 张翠山 程序员 2056.0 4000 800 20 研发部 成都\n", "7 黄蓉 销售主管 7800.0 3000 800 30 销售部 重庆\n", "8 杨过 会计 5566.0 2200 840 10 会计部 北京\n", "9 朱九真 会计 5566.0 2500 880 10 会计部 北京\n", "10 苗人凤 销售员 3344.0 2500 920 30 销售部 重庆\n", "11 郭靖 出纳 5566.0 2000 960 10 会计部 北京\n", "12 宋远桥 会计师 7800.0 4000 1000 10 会计部 北京\n", "13 张三丰 总裁 NaN 9000 1200 20 研发部 成都\n", "14 张三丰 总裁 NaN 50000 8000 20 研发部 成都\n", "15 王大锤 程序员 9800.0 8000 600 20 研发部 成都\n", "16 张三丰 总裁 NaN 60000 6000 20 研发部 成都\n", "17 骆昊 架构师 7800.0 30000 5000 20 研发部 成都\n", "18 陈小刀 分析师 9800.0 10000 1200 20 研发部 成都" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_emp_df['comm'] = all_emp_df.comm.astype('i8')\n", "all_emp_df" ] }, { "cell_type": "code", "execution_count": 74, "id": "a739242d-ebd2-42d2-9ec7-9a5939cbf74a", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
enamejobmgrsalcommdnodnamedloc
0胡一刀销售员3344180020030销售部重庆
1乔峰分析师78005000150020研发部成都
2李莫愁设计师2056350080020研发部成都
3张无忌程序员2056320080020研发部成都
4丘处机程序员2056340080020研发部成都
5欧阳锋程序员3088320080020研发部成都
6张翠山程序员2056400080020研发部成都
7黄蓉销售主管7800300080030销售部重庆
8杨过会计5566220084010会计部北京
9朱九真会计5566250088010会计部北京
10苗人凤销售员3344250092030销售部重庆
11郭靖出纳5566200096010会计部北京
12宋远桥会计师78004000100010会计部北京
13张三丰总裁-19000120020研发部成都
14张三丰总裁-150000800020研发部成都
15王大锤程序员9800800060020研发部成都
16张三丰总裁-160000600020研发部成都
17骆昊架构师780030000500020研发部成都
18陈小刀分析师980010000120020研发部成都
\n", "
" ], "text/plain": [ " ename job mgr sal comm dno dname dloc\n", "0 胡一刀 销售员 3344 1800 200 30 销售部 重庆\n", "1 乔峰 分析师 7800 5000 1500 20 研发部 成都\n", "2 李莫愁 设计师 2056 3500 800 20 研发部 成都\n", "3 张无忌 程序员 2056 3200 800 20 研发部 成都\n", "4 丘处机 程序员 2056 3400 800 20 研发部 成都\n", "5 欧阳锋 程序员 3088 3200 800 20 研发部 成都\n", "6 张翠山 程序员 2056 4000 800 20 研发部 成都\n", "7 黄蓉 销售主管 7800 3000 800 30 销售部 重庆\n", "8 杨过 会计 5566 2200 840 10 会计部 北京\n", "9 朱九真 会计 5566 2500 880 10 会计部 北京\n", "10 苗人凤 销售员 3344 2500 920 30 销售部 重庆\n", "11 郭靖 出纳 5566 2000 960 10 会计部 北京\n", "12 宋远桥 会计师 7800 4000 1000 10 会计部 北京\n", "13 张三丰 总裁 -1 9000 1200 20 研发部 成都\n", "14 张三丰 总裁 -1 50000 8000 20 研发部 成都\n", "15 王大锤 程序员 9800 8000 600 20 研发部 成都\n", "16 张三丰 总裁 -1 60000 6000 20 研发部 成都\n", "17 骆昊 架构师 7800 30000 5000 20 研发部 成都\n", "18 陈小刀 分析师 9800 10000 1200 20 研发部 成都" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_emp_df['mgr'] = all_emp_df.mgr.fillna(-1).astype('i8')\n", "all_emp_df" ] }, { "cell_type": "code", "execution_count": 75, "id": "cd376d13-2245-48b8-ba14-3315d4c48f9c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 False\n", "1 False\n", "2 False\n", "3 False\n", "4 False\n", "5 False\n", "6 False\n", "7 False\n", "8 False\n", "9 False\n", "10 False\n", "11 False\n", "12 False\n", "13 False\n", "14 True\n", "15 False\n", "16 True\n", "17 False\n", "18 False\n", "Name: ename, dtype: bool" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 甄别重复值\n", "all_emp_df.ename.duplicated()" ] }, { "cell_type": "code", "execution_count": 76, "id": "6e107a38-c5e8-4e5e-9e42-71481c54e0d1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 False\n", "1 False\n", "2 False\n", "3 False\n", "4 False\n", "5 False\n", "6 False\n", "7 False\n", "8 False\n", "9 False\n", "10 False\n", "11 False\n", "12 False\n", "13 False\n", "14 True\n", "15 False\n", "16 True\n", "17 False\n", "18 False\n", "dtype: bool" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_emp_df.duplicated(['ename', 'job'])" ] }, { "cell_type": "code", "execution_count": 77, "id": "097eaaf2-1112-4e0f-b361-786bf91d6c1f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "ename\n", "张三丰 3\n", "胡一刀 1\n", "朱九真 1\n", "骆昊 1\n", "王大锤 1\n", "宋远桥 1\n", "郭靖 1\n", "苗人凤 1\n", "杨过 1\n", "乔峰 1\n", "黄蓉 1\n", "张翠山 1\n", "欧阳锋 1\n", "丘处机 1\n", "张无忌 1\n", "李莫愁 1\n", "陈小刀 1\n", "Name: count, dtype: int64" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 统计每个元素出现的频次\n", "all_emp_df.ename.value_counts()" ] }, { "cell_type": "code", "execution_count": 78, "id": "6494bb56-7ac7-47df-a9f1-960b02586e31", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "job\n", "程序员 5\n", "总裁 3\n", "销售员 2\n", "分析师 2\n", "会计 2\n", "设计师 1\n", "销售主管 1\n", "出纳 1\n", "会计师 1\n", "架构师 1\n", "Name: count, dtype: int64" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_emp_df.job.value_counts()" ] }, { "cell_type": "code", "execution_count": 79, "id": "172e4d9a-63bd-44ca-98ea-e4614c8823ab", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "17" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 统计不重复的元素的个数\n", "all_emp_df.ename.nunique()" ] }, { "cell_type": "code", "execution_count": 80, "id": "d6fa062c-d338-407f-8647-e84878a5642e", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
enamejobmgrsalcommdnodnamedloc
0胡一刀销售员3344180020030销售部重庆
1乔峰分析师78005000150020研发部成都
2李莫愁设计师2056350080020研发部成都
3张无忌程序员2056320080020研发部成都
4丘处机程序员2056340080020研发部成都
5欧阳锋程序员3088320080020研发部成都
6张翠山程序员2056400080020研发部成都
7黄蓉销售主管7800300080030销售部重庆
8杨过会计5566220084010会计部北京
9朱九真会计5566250088010会计部北京
10苗人凤销售员3344250092030销售部重庆
11郭靖出纳5566200096010会计部北京
12宋远桥会计师78004000100010会计部北京
15王大锤程序员9800800060020研发部成都
16张三丰总裁-160000600020研发部成都
17骆昊架构师780030000500020研发部成都
18陈小刀分析师980010000120020研发部成都
\n", "
" ], "text/plain": [ " ename job mgr sal comm dno dname dloc\n", "0 胡一刀 销售员 3344 1800 200 30 销售部 重庆\n", "1 乔峰 分析师 7800 5000 1500 20 研发部 成都\n", "2 李莫愁 设计师 2056 3500 800 20 研发部 成都\n", "3 张无忌 程序员 2056 3200 800 20 研发部 成都\n", "4 丘处机 程序员 2056 3400 800 20 研发部 成都\n", "5 欧阳锋 程序员 3088 3200 800 20 研发部 成都\n", "6 张翠山 程序员 2056 4000 800 20 研发部 成都\n", "7 黄蓉 销售主管 7800 3000 800 30 销售部 重庆\n", "8 杨过 会计 5566 2200 840 10 会计部 北京\n", "9 朱九真 会计 5566 2500 880 10 会计部 北京\n", "10 苗人凤 销售员 3344 2500 920 30 销售部 重庆\n", "11 郭靖 出纳 5566 2000 960 10 会计部 北京\n", "12 宋远桥 会计师 7800 4000 1000 10 会计部 北京\n", "15 王大锤 程序员 9800 8000 600 20 研发部 成都\n", "16 张三丰 总裁 -1 60000 6000 20 研发部 成都\n", "17 骆昊 架构师 7800 30000 5000 20 研发部 成都\n", "18 陈小刀 分析师 9800 10000 1200 20 研发部 成都" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 删除重复值\n", "# keep='first' - 默认值,重复元素保留第一项 - 'last' / False\n", "all_emp_df.drop_duplicates(['ename', 'job'], keep='last', inplace=True)\n", "all_emp_df" ] }, { "cell_type": "code", "execution_count": 81, "id": "832a2ea2-6941-4364-b143-af7db9ff9701", "metadata": {}, "outputs": [], "source": [ "# 异常值的甄别\n", "# 数值判定法(data < Q1 - 1.5 * IQR 或者 data > Q3 + 1.5 * IQR)\n", "\n", "\n", "def find_outliers_by_iqr(data, whis=1.5):\n", " q1, q3 = np.quantile(data, [0.25, 0.75])\n", " iqr = q3 - q1\n", " return data[(data < q1 - whis * iqr) | (data > q3 + whis * iqr)]" ] }, { "cell_type": "code", "execution_count": 82, "id": "1cd5d6aa-c60e-483e-995c-a627a0dfec15", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 83., 81., 89., 89., 76., 79., 78., 76., 79., 74., 89.,\n", " 61., 90., 74., 68., 81., 81., 93., 69., 81., 76., 87.,\n", " 80., 90., 72., 89., 72., 71., 93., 75., 75., 73., 85.,\n", " 91., 96., 82., 74., 80., 72., 83., 72., 64., 83., 79.,\n", " 78., 68., 68., 70., 68., 84., 120., 160., 200., 40., 20.,\n", " -50.])" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "temp = np.random.normal(80, 8, 50).round(0)\n", "temp = np.append(temp, [120, 160, 200, 40, 20, -50])\n", "temp" ] }, { "cell_type": "code", "execution_count": 83, "id": "2121dab4-0efc-4fcd-a5fe-67585552cb53", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([120., 160., 200., 40., 20., -50.])" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ "find_outliers_by_iqr(temp)" ] }, { "cell_type": "code", "execution_count": 84, "id": "da048825-3f88-4009-9db5-159e8e883b10", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([160., 200., 20., -50.])" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "find_outliers_by_iqr(temp, whis=3)" ] }, { "cell_type": "code", "execution_count": 85, "id": "0da7034b-2350-43ff-a6eb-9e7f4361bdee", "metadata": {}, "outputs": [], "source": [ "# zscore判定法(三西格玛法则 ---> 68-95-99.7法则)\n", "\n", "\n", "def find_outliers_by_zscore(data, mul=3):\n", " mu, sigma = np.mean(data), np.std(data)\n", " zscore = (data - mu) / sigma\n", " return data[np.abs(zscore) > mul]" ] }, { "cell_type": "code", "execution_count": 86, "id": "e88616c0-a4d8-4fd8-9ec2-e761cb5ba056", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([200., -50.])" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" } ], "source": [ "find_outliers_by_zscore(temp)" ] }, { "cell_type": "code", "execution_count": 87, "id": "c902031c-2f78-4721-9734-5c5b0ca81650", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([160., 200., 20., -50.])" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "find_outliers_by_zscore(temp, mul=2)" ] }, { "cell_type": "code", "execution_count": 88, "id": "1e295014-d582-4e78-b5b9-6d9f0463ff8d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "订单号\n", "G69924 23688\n", "G70509 31935\n", "G72204 26758\n", "G70509 31594\n", "G72186 30583\n", "G70509 52302\n", "G69631 32125\n", "543369-010 29843\n", "543367-077 31889\n", "G69627 31028\n", "G69645 23947\n", "G72201 40327\n", "G69631 26534\n", "543367-077 25674\n", "G71332 35120\n", "588705-010 25502\n", "543367-077 31375\n", "G68188 29819\n", "577714-010 40884\n", "FT001-18-1763 25835\n", "G72186 24770\n", "G71330 29795\n", "577714-010 27244\n", "FT007-18-1763 25454\n", "G69627 24634\n", "G69627 23537\n", "G72204 31613\n", "543367-077 45442\n", "G85411 22861\n", "G68188 34290\n", "AYMH063-1 29307\n", "G69645 37782\n", "Name: 直接成本, dtype: int64" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "find_outliers_by_zscore(df6.直接成本)" ] }, { "cell_type": "code", "execution_count": 89, "id": "97b98c82-fd09-42a9-8a75-a3e71ae10fbc", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
销售日期区域渠道品牌售价销售数量直接成本销售额月份
订单号
205654-5192020-01-01上海天猫八匹马1691448523661
377781-0102020-01-01上海天猫皮皮虾249612452151891
588685-0022020-01-02上海拼多多皮皮虾299918008272091
AKLH641-12020-01-03上海天猫壁虎239824127195981
AKLJ013-42020-01-03上海天猫壁虎219572315124831
..............................
588682-0102020-12-29北京拼多多皮皮虾2695043881345012
599007-5132020-12-29北京天猫皮皮虾349182466628212
D896772020-12-30北京京东花花姑娘269261560699412
182719-0502020-12-30福建实体八匹马79973028766312
G700832020-12-31福建实体花花姑娘2695522771479512
\n", "

1711 rows × 9 columns

\n", "
" ], "text/plain": [ " 销售日期 区域 渠道 品牌 售价 销售数量 直接成本 销售额 月份\n", "订单号 \n", "205654-519 2020-01-01 上海 天猫 八匹马 169 14 485 2366 1\n", "377781-010 2020-01-01 上海 天猫 皮皮虾 249 61 2452 15189 1\n", "588685-002 2020-01-02 上海 拼多多 皮皮虾 299 91 8008 27209 1\n", "AKLH641-1 2020-01-03 上海 天猫 壁虎 239 82 4127 19598 1\n", "AKLJ013-4 2020-01-03 上海 天猫 壁虎 219 57 2315 12483 1\n", "... ... .. ... ... ... ... ... ... ..\n", "588682-010 2020-12-29 北京 拼多多 皮皮虾 269 50 4388 13450 12\n", "599007-513 2020-12-29 北京 天猫 皮皮虾 349 18 2466 6282 12\n", "D89677 2020-12-30 北京 京东 花花姑娘 269 26 1560 6994 12\n", "182719-050 2020-12-30 福建 实体 八匹马 79 97 3028 7663 12\n", "G70083 2020-12-31 福建 实体 花花姑娘 269 55 2277 14795 12\n", "\n", "[1711 rows x 9 columns]" ] }, "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 根据离群点的行索引删除行\n", "df6.drop(index=find_outliers_by_zscore(df6.直接成本).index)" ] }, { "cell_type": "code", "execution_count": 90, "id": "0053ed12-c09f-4331-a6dd-487ff990c680", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "79.0" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "med_value = np.median(temp)\n", "med_value" ] }, { "cell_type": "code", "execution_count": 91, "id": "f02c2985-1b07-4b1c-b248-aa1de9e98451", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([160., 200., 20., -50.])" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "find_outliers_by_zscore(temp, mul=2)" ] }, { "cell_type": "code", "execution_count": 92, "id": "485adc15-f39d-419b-9869-2b366f5d88ec", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([False, False, False, False, False, False, False, False, False,\n", " False, False, False, False, False, False, False, False, False,\n", " False, False, False, False, False, False, False, False, False,\n", " False, False, False, False, False, False, False, False, False,\n", " False, False, False, False, False, False, False, False, False,\n", " False, False, False, False, False, False, True, True, False,\n", " True, True])" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.in1d(temp, find_outliers_by_zscore(temp, mul=2))" ] }, { "cell_type": "code", "execution_count": 93, "id": "ce92f242-1f0f-476e-ae85-91e1615783ef", "metadata": {}, "outputs": [], "source": [ "# 替换离群点\n", "np.place(temp, np.in1d(temp, find_outliers_by_zscore(temp, mul=2)), med_value)" ] }, { "cell_type": "code", "execution_count": 94, "id": "10b0b0bc-f98c-40fe-890f-976df9d9c52b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 83., 81., 89., 89., 76., 79., 78., 76., 79., 74., 89.,\n", " 61., 90., 74., 68., 81., 81., 93., 69., 81., 76., 87.,\n", " 80., 90., 72., 89., 72., 71., 93., 75., 75., 73., 85.,\n", " 91., 96., 82., 74., 80., 72., 83., 72., 64., 83., 79.,\n", " 78., 68., 68., 70., 68., 84., 120., 79., 79., 40., 79.,\n", " 79.])" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "temp" ] }, { "cell_type": "markdown", "id": "d970e838-42f2-44d0-8f2d-07ebbf6de2b0", "metadata": {}, "source": [ "#### 案例1:招聘数据清洗和预处理\n", "\n", "1. 数据加载\n", "2. 去重\n", "3. 数据抽取\n", "4. 拆分列\n", "5. 替换值\n", "6. 数据筛选" ] }, { "cell_type": "code", "execution_count": 95, "id": "1ec417a9-457f-434e-96a6-f4fd35d75987", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
company_nameurisalarysiteyearedujob_namecitypos_count
0软通动力集团https://www.zhipin.com/job_detail/7ece55fbcbf7...10-15K成都 武侯区 草金立交1-3年本科python开发chengdu2
1思湃德https://www.zhipin.com/job_detail/760b2b05535c...20-40K成都 双流区 华阳3-5年本科Pythonchengdu5
2源码时代https://www.zhipin.com/job_detail/9575f02d9a9f...15-20K成都 武侯区 石羊3-5年大专python 讲师chengdu3
3三源合众https://www.zhipin.com/job_detail/912b6da8b12f...6-10K成都 武侯区 新会展1年以内本科Pythonchengdu1
4软通动力https://www.zhipin.com/job_detail/c61ef9b261da...8-13K成都 武侯区 机投1-3年本科python开发chengdu3
5中佳业https://www.zhipin.com/job_detail/4fbb387a96ff...7-8K·13薪成都 武侯区 肖家河3-5年大专C++/Pythonchengdu4
6知行天下https://www.zhipin.com/job_detail/17fe77fdd3b1...7-12K成都 龙泉驿区 龙泉1年以内大专Python讲师chengdu1
7川大智胜https://www.zhipin.com/job_detail/77186b69e915...8-13K成都 武侯区 保利花园3-5年本科Pythonchengdu1
8电科荷福研究院https://www.zhipin.com/job_detail/586d4207f3d7...7-12K成都 郫都区 高新西3-5年本科python后端开发chengdu6
9傲梦网络科技https://www.zhipin.com/job_detail/dafa272932d0...3-8K成都 武侯区 高升桥经验不限本科python线上试听课老师chengdu6
\n", "
" ], "text/plain": [ " company_name uri salary \\\n", "0 软通动力集团 https://www.zhipin.com/job_detail/7ece55fbcbf7... 10-15K \n", "1 思湃德 https://www.zhipin.com/job_detail/760b2b05535c... 20-40K \n", "2 源码时代 https://www.zhipin.com/job_detail/9575f02d9a9f... 15-20K \n", "3 三源合众 https://www.zhipin.com/job_detail/912b6da8b12f... 6-10K \n", "4 软通动力 https://www.zhipin.com/job_detail/c61ef9b261da... 8-13K \n", "5 中佳业 https://www.zhipin.com/job_detail/4fbb387a96ff... 7-8K·13薪 \n", "6 知行天下 https://www.zhipin.com/job_detail/17fe77fdd3b1... 7-12K \n", "7 川大智胜 https://www.zhipin.com/job_detail/77186b69e915... 8-13K \n", "8 电科荷福研究院 https://www.zhipin.com/job_detail/586d4207f3d7... 7-12K \n", "9 傲梦网络科技 https://www.zhipin.com/job_detail/dafa272932d0... 3-8K \n", "\n", " site year edu job_name city pos_count \n", "0 成都 武侯区 草金立交 1-3年 本科 python开发 chengdu 2 \n", "1 成都 双流区 华阳 3-5年 本科 Python chengdu 5 \n", "2 成都 武侯区 石羊 3-5年 大专 python 讲师 chengdu 3 \n", "3 成都 武侯区 新会展 1年以内 本科 Python chengdu 1 \n", "4 成都 武侯区 机投 1-3年 本科 python开发 chengdu 3 \n", "5 成都 武侯区 肖家河 3-5年 大专 C++/Python chengdu 4 \n", "6 成都 龙泉驿区 龙泉 1年以内 大专 Python讲师 chengdu 1 \n", "7 成都 武侯区 保利花园 3-5年 本科 Python chengdu 1 \n", "8 成都 郫都区 高新西 3-5年 本科 python后端开发 chengdu 6 \n", "9 成都 武侯区 高升桥 经验不限 本科 python线上试听课老师 chengdu 6 " ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ "jobs_df = pd.read_csv('res/all_jobs.csv')\n", "jobs_df.head(10)" ] }, { "cell_type": "code", "execution_count": 96, "id": "74e0e4a5-3c03-4617-9661-8cfa03b88fd7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(9777, 9)" ] }, "execution_count": 96, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 根据URI列去重\n", "jobs_df.drop_duplicates('uri', inplace=True)\n", "jobs_df.shape" ] }, { "cell_type": "code", "execution_count": 97, "id": "6cca7b8b-25f1-46b8-9946-34ba90f42116", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
company_nameurisalarysiteyearedujob_namecitypos_countsalary_lowersalary_upper
0软通动力集团https://www.zhipin.com/job_detail/7ece55fbcbf7...12.5成都 武侯区 草金立交1-3年本科python开发chengdu21015
1思湃德https://www.zhipin.com/job_detail/760b2b05535c...30.0成都 双流区 华阳3-5年本科Pythonchengdu52040
2源码时代https://www.zhipin.com/job_detail/9575f02d9a9f...17.5成都 武侯区 石羊3-5年大专python 讲师chengdu31520
3三源合众https://www.zhipin.com/job_detail/912b6da8b12f...8.0成都 武侯区 新会展1年以内本科Pythonchengdu1610
4软通动力https://www.zhipin.com/job_detail/c61ef9b261da...10.5成都 武侯区 机投1-3年本科python开发chengdu3813
....................................
9820公众智能https://www.zhipin.com/job_detail/7b9c08dbce81...9.0西安3-5年本科产品经理xian2810
9821微感https://www.zhipin.com/job_detail/c7e99005528f...9.0西安 雁塔区 紫薇田园都市3-5年大专产品经理xian4810
9822巴斯光年https://www.zhipin.com/job_detail/1045fe64f248...15.0西安 雁塔区 大雁塔3-5年本科产品经理xian61020
9823西大华特科技https://www.zhipin.com/job_detail/e3c21cc748e7...6.5西安 雁塔区 唐延路1-3年硕士产品经理(农药)xian658
9824西安纯粹科技https://www.zhipin.com/job_detail/09965129db3e...4.5西安 雁塔区 玫瑰大楼1-3年本科产品经理xian536
\n", "

9777 rows × 11 columns

\n", "
" ], "text/plain": [ " company_name uri salary \\\n", "0 软通动力集团 https://www.zhipin.com/job_detail/7ece55fbcbf7... 12.5 \n", "1 思湃德 https://www.zhipin.com/job_detail/760b2b05535c... 30.0 \n", "2 源码时代 https://www.zhipin.com/job_detail/9575f02d9a9f... 17.5 \n", "3 三源合众 https://www.zhipin.com/job_detail/912b6da8b12f... 8.0 \n", "4 软通动力 https://www.zhipin.com/job_detail/c61ef9b261da... 10.5 \n", "... ... ... ... \n", "9820 公众智能 https://www.zhipin.com/job_detail/7b9c08dbce81... 9.0 \n", "9821 微感 https://www.zhipin.com/job_detail/c7e99005528f... 9.0 \n", "9822 巴斯光年 https://www.zhipin.com/job_detail/1045fe64f248... 15.0 \n", "9823 西大华特科技 https://www.zhipin.com/job_detail/e3c21cc748e7... 6.5 \n", "9824 西安纯粹科技 https://www.zhipin.com/job_detail/09965129db3e... 4.5 \n", "\n", " site year edu job_name city pos_count salary_lower \\\n", "0 成都 武侯区 草金立交 1-3年 本科 python开发 chengdu 2 10 \n", "1 成都 双流区 华阳 3-5年 本科 Python chengdu 5 20 \n", "2 成都 武侯区 石羊 3-5年 大专 python 讲师 chengdu 3 15 \n", "3 成都 武侯区 新会展 1年以内 本科 Python chengdu 1 6 \n", "4 成都 武侯区 机投 1-3年 本科 python开发 chengdu 3 8 \n", "... ... ... .. ... ... ... ... \n", "9820 西安 3-5年 本科 产品经理 xian 2 8 \n", "9821 西安 雁塔区 紫薇田园都市 3-5年 大专 产品经理 xian 4 8 \n", "9822 西安 雁塔区 大雁塔 3-5年 本科 产品经理 xian 6 10 \n", "9823 西安 雁塔区 唐延路 1-3年 硕士 产品经理(农药) xian 6 5 \n", "9824 西安 雁塔区 玫瑰大楼 1-3年 本科 产品经理 xian 5 3 \n", "\n", " salary_upper \n", "0 15 \n", "1 40 \n", "2 20 \n", "3 10 \n", "4 13 \n", "... ... \n", "9820 10 \n", "9821 10 \n", "9822 20 \n", "9823 8 \n", "9824 6 \n", "\n", "[9777 rows x 11 columns]" ] }, "execution_count": 97, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 通过正则表达式从列中提取信息\n", "jobs_df[['salary_lower', 'salary_upper']] = jobs_df.salary.str.extract(r'(\\d+)-(\\d+)').astype('i8')\n", "jobs_df['salary'] = (jobs_df.salary_lower + jobs_df.salary_upper) / 2\n", "jobs_df" ] }, { "cell_type": "code", "execution_count": 98, "id": "ffaea2af-09f6-4577-9c0d-024966d6854f", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
company_namesalarysiteyearedujob_namepos_countsalary_lowersalary_upper
0软通动力集团12.5成都 武侯区 草金立交1-3年本科python开发21015
1思湃德30.0成都 双流区 华阳3-5年本科Python52040
2源码时代17.5成都 武侯区 石羊3-5年大专python 讲师31520
3三源合众8.0成都 武侯区 新会展1年以内本科Python1610
4软通动力10.5成都 武侯区 机投1-3年本科python开发3813
..............................
9820公众智能9.0西安3-5年本科产品经理2810
9821微感9.0西安 雁塔区 紫薇田园都市3-5年大专产品经理4810
9822巴斯光年15.0西安 雁塔区 大雁塔3-5年本科产品经理61020
9823西大华特科技6.5西安 雁塔区 唐延路1-3年硕士产品经理(农药)658
9824西安纯粹科技4.5西安 雁塔区 玫瑰大楼1-3年本科产品经理536
\n", "

9777 rows × 9 columns

\n", "
" ], "text/plain": [ " company_name salary site year edu job_name pos_count \\\n", "0 软通动力集团 12.5 成都 武侯区 草金立交 1-3年 本科 python开发 2 \n", "1 思湃德 30.0 成都 双流区 华阳 3-5年 本科 Python 5 \n", "2 源码时代 17.5 成都 武侯区 石羊 3-5年 大专 python 讲师 3 \n", "3 三源合众 8.0 成都 武侯区 新会展 1年以内 本科 Python 1 \n", "4 软通动力 10.5 成都 武侯区 机投 1-3年 本科 python开发 3 \n", "... ... ... ... ... .. ... ... \n", "9820 公众智能 9.0 西安 3-5年 本科 产品经理 2 \n", "9821 微感 9.0 西安 雁塔区 紫薇田园都市 3-5年 大专 产品经理 4 \n", "9822 巴斯光年 15.0 西安 雁塔区 大雁塔 3-5年 本科 产品经理 6 \n", "9823 西大华特科技 6.5 西安 雁塔区 唐延路 1-3年 硕士 产品经理(农药) 6 \n", "9824 西安纯粹科技 4.5 西安 雁塔区 玫瑰大楼 1-3年 本科 产品经理 5 \n", "\n", " salary_lower salary_upper \n", "0 10 15 \n", "1 20 40 \n", "2 15 20 \n", "3 6 10 \n", "4 8 13 \n", "... ... ... \n", "9820 8 10 \n", "9821 8 10 \n", "9822 10 20 \n", "9823 5 8 \n", "9824 3 6 \n", "\n", "[9777 rows x 9 columns]" ] }, "execution_count": 98, "metadata": {}, "output_type": "execute_result" } ], "source": [ "jobs_df.drop(columns=['uri', 'city'], inplace=True)\n", "jobs_df" ] }, { "cell_type": "code", "execution_count": 99, "id": "d9ba5998-ca1d-44c8-87ca-363356074dd5", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
company_namesalaryyearedujob_namepos_countsalary_lowersalary_uppercity
0软通动力集团12.51-3年本科python开发21015成都
1思湃德30.03-5年本科Python52040成都
2源码时代17.53-5年大专python 讲师31520成都
3三源合众8.01年以内本科Python1610成都
4软通动力10.51-3年本科python开发3813成都
..............................
9820公众智能9.03-5年本科产品经理2810西安
9821微感9.03-5年大专产品经理4810西安
9822巴斯光年15.03-5年本科产品经理61020西安
9823西大华特科技6.51-3年硕士产品经理(农药)658西安
9824西安纯粹科技4.51-3年本科产品经理536西安
\n", "

9777 rows × 9 columns

\n", "
" ], "text/plain": [ " company_name salary year edu job_name pos_count salary_lower \\\n", "0 软通动力集团 12.5 1-3年 本科 python开发 2 10 \n", "1 思湃德 30.0 3-5年 本科 Python 5 20 \n", "2 源码时代 17.5 3-5年 大专 python 讲师 3 15 \n", "3 三源合众 8.0 1年以内 本科 Python 1 6 \n", "4 软通动力 10.5 1-3年 本科 python开发 3 8 \n", "... ... ... ... .. ... ... ... \n", "9820 公众智能 9.0 3-5年 本科 产品经理 2 8 \n", "9821 微感 9.0 3-5年 大专 产品经理 4 8 \n", "9822 巴斯光年 15.0 3-5年 本科 产品经理 6 10 \n", "9823 西大华特科技 6.5 1-3年 硕士 产品经理(农药) 6 5 \n", "9824 西安纯粹科技 4.5 1-3年 本科 产品经理 5 3 \n", "\n", " salary_upper city \n", "0 15 成都 \n", "1 40 成都 \n", "2 20 成都 \n", "3 10 成都 \n", "4 13 成都 \n", "... ... ... \n", "9820 10 西安 \n", "9821 10 西安 \n", "9822 20 西安 \n", "9823 8 西安 \n", "9824 6 西安 \n", "\n", "[9777 rows x 9 columns]" ] }, "execution_count": 99, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 拆分列\n", "jobs_df['city'] = jobs_df.site.str.split(expand=True)[0]\n", "jobs_df.drop(columns='site', inplace=True)\n", "jobs_df" ] }, { "cell_type": "code", "execution_count": 100, "id": "933e9006-4f5e-4238-b6d9-940dfeb6caf1", "metadata": {}, "outputs": [], "source": [ "# 字符串正则表达式替换\n", "jobs_df['year'] = jobs_df.year.replace(r'5-10年|10年以上', '5年以上', regex=True)" ] }, { "cell_type": "code", "execution_count": 101, "id": "d10a9c1c-a9d5-49e1-8fdf-a68b5bb3d59a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['1-3年', '3-5年', '1年以内', '经验不限', '5年以上', '应届生'], dtype=object)" ] }, "execution_count": 101, "metadata": {}, "output_type": "execute_result" } ], "source": [ "jobs_df.year.unique()" ] }, { "cell_type": "code", "execution_count": 102, "id": "d248e233-bac5-48d5-8a69-a1f04350867a", "metadata": {}, "outputs": [], "source": [ "jobs_df['edu'] = jobs_df.edu.replace(r'中专|高中', '学历不限', regex=True)\n", "jobs_df['edu'] = jobs_df.edu.replace(r'硕士|博士', '研究生', regex=True)" ] }, { "cell_type": "code", "execution_count": 103, "id": "eec6fbd5-2355-4674-9e5d-7f47a5a808a2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['本科', '大专', '学历不限', '研究生'], dtype=object)" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ "jobs_df.edu.unique()" ] }, { "cell_type": "code", "execution_count": 104, "id": "352b1921-aa2b-4016-af3e-02032b2a3935", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(6487, 9)" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "jobs_df['job_name'] = jobs_df.job_name.str.lower()\n", "jobs_df = jobs_df[jobs_df.job_name.str.contains('python|数据|产品|运营|data', regex=True)]\n", "jobs_df.shape" ] }, { "cell_type": "code", "execution_count": 105, "id": "df370013-1278-48d2-9891-8647df3c5e15", "metadata": {}, "outputs": [], "source": [ "jobs_df.to_csv('res/cleand_jobs.csv', index=False)" ] }, { "cell_type": "markdown", "id": "8ee07676-737c-420e-b11a-235ff7f2c4c8", "metadata": {}, "source": [ "#### 案例2:北京积分落户数据预处理\n", "\n", "1. 加载数据\n", "2. 日期时间处理\n", "3. 年龄段分箱\n", "4. 落户积分归一化" ] }, { "cell_type": "code", "execution_count": 106, "id": "1232d023-7591-47b3-b67b-4920642dd28d", "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", "
姓名出生年月单位名称积分分值
公示编号
202300001张浩1977-02北京首钢股份有限公司140.05
202300002冯云1982-02中国人民解放军空军二十三厂134.29
202300003王天东1975-01中建二局第三建筑工程有限公司133.63
202300004陈军1976-07中建二局第三建筑工程有限公司133.29
202300005樊海瑞1981-06中国民生银行股份有限公司132.46
\n", "
" ], "text/plain": [ " 姓名 出生年月 单位名称 积分分值\n", "公示编号 \n", "202300001 张浩 1977-02 北京首钢股份有限公司 140.05\n", "202300002 冯云 1982-02 中国人民解放军空军二十三厂 134.29\n", "202300003 王天东 1975-01 中建二局第三建筑工程有限公司 133.63\n", "202300004 陈军 1976-07 中建二局第三建筑工程有限公司 133.29\n", "202300005 樊海瑞 1981-06 中国民生银行股份有限公司 132.46" ] }, "execution_count": 106, "metadata": {}, "output_type": "execute_result" } ], "source": [ "settle_df = pd.read_csv('res/2023年北京积分落户数据.csv', index_col='公示编号')\n", "settle_df.head(5)" ] }, { "cell_type": "code", "execution_count": 107, "id": "734eb268-3ad7-4e67-9661-08328075992b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Index: 6003 entries, 202300001 to 202306003\n", "Data columns (total 4 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 姓名 6003 non-null object \n", " 1 出生年月 6003 non-null object \n", " 2 单位名称 6003 non-null object \n", " 3 积分分值 6003 non-null float64\n", "dtypes: float64(1), object(3)\n", "memory usage: 234.5+ KB\n" ] } ], "source": [ "settle_df.info()" ] }, { "cell_type": "code", "execution_count": 108, "id": "63698465-ddcd-430c-bd96-e78abaaebda3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Index: 6003 entries, 202300001 to 202306003\n", "Data columns (total 4 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 姓名 6003 non-null object \n", " 1 出生年月 6003 non-null datetime64[ns]\n", " 2 单位名称 6003 non-null object \n", " 3 积分分值 6003 non-null float64 \n", "dtypes: datetime64[ns](1), float64(1), object(2)\n", "memory usage: 234.5+ KB\n" ] } ], "source": [ "# 将字符串处理成日期\n", "settle_df['出生年月'] = pd.to_datetime(settle_df['出生年月'])\n", "settle_df.info()" ] }, { "cell_type": "code", "execution_count": 109, "id": "989c56c7-85fa-4180-9b86-5247a41cdbab", "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", "
姓名出生年月单位名称积分分值年龄
公示编号
202300001张浩1977-02-01北京首钢股份有限公司140.0545
202300002冯云1982-02-01中国人民解放军空军二十三厂134.2940
202300003王天东1975-01-01中建二局第三建筑工程有限公司133.6348
202300004陈军1976-07-01中建二局第三建筑工程有限公司133.2946
202300005樊海瑞1981-06-01中国民生银行股份有限公司132.4641
\n", "
" ], "text/plain": [ " 姓名 出生年月 单位名称 积分分值 年龄\n", "公示编号 \n", "202300001 张浩 1977-02-01 北京首钢股份有限公司 140.05 45\n", "202300002 冯云 1982-02-01 中国人民解放军空军二十三厂 134.29 40\n", "202300003 王天东 1975-01-01 中建二局第三建筑工程有限公司 133.63 48\n", "202300004 陈军 1976-07-01 中建二局第三建筑工程有限公司 133.29 46\n", "202300005 樊海瑞 1981-06-01 中国民生银行股份有限公司 132.46 41" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 将生日换算成年龄\n", "settle_df['年龄'] = (pd.to_datetime('2023-01-01') - settle_df.出生年月).dt.days // 365\n", "settle_df.head(5)" ] }, { "cell_type": "code", "execution_count": 110, "id": "4191c7a2-19fd-4347-ac79-2371c8e59c10", "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", "
姓名出生年月单位名称积分分值年龄年龄段
公示编号
202300001张浩1977-02-01北京首钢股份有限公司140.054545~49岁
202300002冯云1982-02-01中国人民解放军空军二十三厂134.294040~44岁
202300003王天东1975-01-01中建二局第三建筑工程有限公司133.634845~49岁
202300004陈军1976-07-01中建二局第三建筑工程有限公司133.294645~49岁
202300005樊海瑞1981-06-01中国民生银行股份有限公司132.464140~44岁
\n", "
" ], "text/plain": [ " 姓名 出生年月 单位名称 积分分值 年龄 年龄段\n", "公示编号 \n", "202300001 张浩 1977-02-01 北京首钢股份有限公司 140.05 45 45~49岁\n", "202300002 冯云 1982-02-01 中国人民解放军空军二十三厂 134.29 40 40~44岁\n", "202300003 王天东 1975-01-01 中建二局第三建筑工程有限公司 133.63 48 45~49岁\n", "202300004 陈军 1976-07-01 中建二局第三建筑工程有限公司 133.29 46 45~49岁\n", "202300005 樊海瑞 1981-06-01 中国民生银行股份有限公司 132.46 41 40~44岁" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 将年龄划分到年龄段 - 分箱 - 数据桶\n", "settle_df['年龄段'] = pd.cut(\n", " settle_df.年龄,\n", " bins=np.arange(35, 61, 5),\n", " labels=['35~39岁', '40~44岁', '45~49岁', '50~54岁', '55~59岁'],\n", " right=False\n", ")\n", "settle_df.head(5)" ] }, { "cell_type": "code", "execution_count": 111, "id": "ea2e0c9b-0aa0-41d3-a52a-6926b797465c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "年龄段\n", "40~44岁 4215\n", "45~49岁 1053\n", "35~39岁 681\n", "50~54岁 34\n", "55~59岁 20\n", "Name: count, dtype: int64" ] }, "execution_count": 111, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 统计每个元素出现的频次\n", "temp = settle_df.年龄段.value_counts()\n", "temp" ] }, { "cell_type": "code", "execution_count": 112, "id": "30843274-b940-4527-92ed-97db86bb4ec7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0. , 0.39277201, 0.15816993, 1. ],\n", " [0.18246828, 0.59332564, 0.30675894, 1. ],\n", " [0.45176471, 0.76708958, 0.46120723, 1. ],\n", " [0.72312188, 0.88961169, 0.69717801, 1. ],\n", " [0.91326413, 0.96670511, 0.89619377, 1. ]])" ] }, "execution_count": 112, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plt.cm.Greens(np.linspace(0.9, 0.1, 5))" ] }, { "cell_type": "code", "execution_count": 113, "id": "375dd407-9d0a-4788-a38e-3a37efbb6d3b", "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " 2025-03-04T16:47:31.005270\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.9.4, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n" ], "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 绘制柱状图\n", "temp.plot(\n", " kind='bar', # 图表类型\n", " figsize=(8, 4), # 图表尺寸\n", " xlabel='', # 横轴标签\n", " ylabel='Count', # 纵轴标签\n", " width=0.5, # 柱子宽度\n", " hatch='//', # 柱子条纹\n", " color=plt.cm.Greens(np.linspace(0.9, 0.3, temp.size)) # 颜色值\n", ")\n", "\n", "for i in range(temp.size):\n", " # plt.text(横坐标, 纵坐标, 标签内容)\n", " plt.text(i, temp.iloc[i] + 30, temp.iloc[i], ha='center')\n", "\n", "# 定制横轴的刻度\n", "plt.xticks(rotation=0)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 114, "id": "e020ba6c-d16d-482f-ad3b-a9e855257b91", "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " 2025-03-04T16:47:31.053333\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.9.4, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n" ], "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 绘制饼图\n", "temp.plot(\n", " kind='pie',\n", " ylabel='',\n", " autopct='%.1f%%', # 自动计算并显示百分比\n", " wedgeprops={'width': 0.3}, # 环状结构部分的宽度\n", " pctdistance=0.85, # 百分比到圆心的距离\n", " labeldistance=1.1, # 标签到圆心的距离\n", " # shadow=True, # 阴影效果\n", " # startangle=0, # 起始角度\n", " counterclock=True, # 是否反时针方向绘制\n", ")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 115, "id": "e846eec2-6c95-409c-8b15-2b14cab3f57c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "mean 111.849640\n", "max 140.050000\n", "min 109.920000\n", "std 2.481941\n", "skew 3.485351\n", "kurt 17.390027\n", "Name: 积分分值, dtype: float64" ] }, "execution_count": 115, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# agg - aggregate - 聚合\n", "settle_df.积分分值.agg(['mean', 'max', 'min', 'std', 'skew', 'kurt'])" ] }, { "cell_type": "markdown", "id": "b1669102-1c03-4751-813c-b241a05718e3", "metadata": {}, "source": [ "线性归一化:\n", "$$\n", "x^{\\prime} = \\frac{x - x_{min}}{x_{max} - x_{min}}\n", "$$" ] }, { "cell_type": "code", "execution_count": 116, "id": "e8d9dca7-b976-43ab-96b8-abefca66cc53", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(140.05, 109.92)" ] }, "execution_count": 116, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 将积分分值处理成0~1范围的值\n", "max_score, min_score = settle_df.积分分值.agg(['max', 'min'])\n", "max_score, min_score" ] }, { "cell_type": "code", "execution_count": 117, "id": "10acd550-8422-4934-b38f-03554f86d305", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
姓名出生年月单位名称积分分值年龄年龄段线性归一化积分
公示编号
202300001张浩1977-02-01北京首钢股份有限公司140.054545~49岁1.00
202300002冯云1982-02-01中国人民解放军空军二十三厂134.294040~44岁0.81
202300003王天东1975-01-01中建二局第三建筑工程有限公司133.634845~49岁0.79
202300004陈军1976-07-01中建二局第三建筑工程有限公司133.294645~49岁0.78
202300005樊海瑞1981-06-01中国民生银行股份有限公司132.464140~44岁0.75
........................
202305999曹恰1983-09-01首都师范大学科德学院109.923935~39岁0.00
202306000罗佳1981-05-01厦门方胜众合企业服务有限公司海淀分公司109.924140~44岁0.00
202306001席盛代1983-06-01中国华能集团清洁能源技术研究院有限公司109.923935~39岁0.00
202306002彭芸芸1981-09-01北京汉杰凯德文化传播有限公司109.924140~44岁0.00
202306003张越1982-01-01大爱城投资控股有限公司109.924140~44岁0.00
\n", "

6003 rows × 7 columns

\n", "
" ], "text/plain": [ " 姓名 出生年月 单位名称 积分分值 年龄 年龄段 线性归一化积分\n", "公示编号 \n", "202300001 张浩 1977-02-01 北京首钢股份有限公司 140.05 45 45~49岁 1.00\n", "202300002 冯云 1982-02-01 中国人民解放军空军二十三厂 134.29 40 40~44岁 0.81\n", "202300003 王天东 1975-01-01 中建二局第三建筑工程有限公司 133.63 48 45~49岁 0.79\n", "202300004 陈军 1976-07-01 中建二局第三建筑工程有限公司 133.29 46 45~49岁 0.78\n", "202300005 樊海瑞 1981-06-01 中国民生银行股份有限公司 132.46 41 40~44岁 0.75\n", "... ... ... ... ... .. ... ...\n", "202305999 曹恰 1983-09-01 首都师范大学科德学院 109.92 39 35~39岁 0.00\n", "202306000 罗佳 1981-05-01 厦门方胜众合企业服务有限公司海淀分公司 109.92 41 40~44岁 0.00\n", "202306001 席盛代 1983-06-01 中国华能集团清洁能源技术研究院有限公司 109.92 39 35~39岁 0.00\n", "202306002 彭芸芸 1981-09-01 北京汉杰凯德文化传播有限公司 109.92 41 40~44岁 0.00\n", "202306003 张越 1982-01-01 大爱城投资控股有限公司 109.92 41 40~44岁 0.00\n", "\n", "[6003 rows x 7 columns]" ] }, "execution_count": 117, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# map - 映射 - 将指定的函数作用到数据系列的每个元素上\n", "# apply - 应用 - 将指定的函数应用到数据系列的每个元素上\n", "settle_df['线性归一化积分'] = settle_df.积分分值.map(lambda x: (x - min_score) / (max_score - min_score)).round(2)\n", "settle_df" ] }, { "cell_type": "markdown", "id": "55e57b00-cb9e-4c9e-bc59-e99b738e2f5d", "metadata": {}, "source": [ "zscore标准化:\n", "$$\n", "x^{\\prime} = \\frac{x - \\mu}{\\sigma}\n", "$$" ] }, { "cell_type": "code", "execution_count": 118, "id": "b5fc6260-5337-4161-99f0-d7be43d59361", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
姓名出生年月单位名称积分分值年龄年龄段线性归一化积分zscore评分
公示编号
202300001张浩1977-02-01北京首钢股份有限公司140.054545~49岁1.0011.362219
202300002冯云1982-02-01中国人民解放军空军二十三厂134.294040~44岁0.819.041455
202300003王天东1975-01-01中建二局第三建筑工程有限公司133.634845~49岁0.798.775534
202300004陈军1976-07-01中建二局第三建筑工程有限公司133.294645~49岁0.788.638545
202300005樊海瑞1981-06-01中国民生银行股份有限公司132.464140~44岁0.758.304129
...........................
202305999曹恰1983-09-01首都师范大学科德学院109.923935~39岁0.00-0.777472
202306000罗佳1981-05-01厦门方胜众合企业服务有限公司海淀分公司109.924140~44岁0.00-0.777472
202306001席盛代1983-06-01中国华能集团清洁能源技术研究院有限公司109.923935~39岁0.00-0.777472
202306002彭芸芸1981-09-01北京汉杰凯德文化传播有限公司109.924140~44岁0.00-0.777472
202306003张越1982-01-01大爱城投资控股有限公司109.924140~44岁0.00-0.777472
\n", "

6003 rows × 8 columns

\n", "
" ], "text/plain": [ " 姓名 出生年月 单位名称 积分分值 年龄 年龄段 线性归一化积分 \\\n", "公示编号 \n", "202300001 张浩 1977-02-01 北京首钢股份有限公司 140.05 45 45~49岁 1.00 \n", "202300002 冯云 1982-02-01 中国人民解放军空军二十三厂 134.29 40 40~44岁 0.81 \n", "202300003 王天东 1975-01-01 中建二局第三建筑工程有限公司 133.63 48 45~49岁 0.79 \n", "202300004 陈军 1976-07-01 中建二局第三建筑工程有限公司 133.29 46 45~49岁 0.78 \n", "202300005 樊海瑞 1981-06-01 中国民生银行股份有限公司 132.46 41 40~44岁 0.75 \n", "... ... ... ... ... .. ... ... \n", "202305999 曹恰 1983-09-01 首都师范大学科德学院 109.92 39 35~39岁 0.00 \n", "202306000 罗佳 1981-05-01 厦门方胜众合企业服务有限公司海淀分公司 109.92 41 40~44岁 0.00 \n", "202306001 席盛代 1983-06-01 中国华能集团清洁能源技术研究院有限公司 109.92 39 35~39岁 0.00 \n", "202306002 彭芸芸 1981-09-01 北京汉杰凯德文化传播有限公司 109.92 41 40~44岁 0.00 \n", "202306003 张越 1982-01-01 大爱城投资控股有限公司 109.92 41 40~44岁 0.00 \n", "\n", " zscore评分 \n", "公示编号 \n", "202300001 11.362219 \n", "202300002 9.041455 \n", "202300003 8.775534 \n", "202300004 8.638545 \n", "202300005 8.304129 \n", "... ... \n", "202305999 -0.777472 \n", "202306000 -0.777472 \n", "202306001 -0.777472 \n", "202306002 -0.777472 \n", "202306003 -0.777472 \n", "\n", "[6003 rows x 8 columns]" ] }, "execution_count": 118, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mu, sigma = settle_df.积分分值.agg(['mean', 'std'])\n", "settle_df['zscore评分'] = settle_df.积分分值.apply(lambda x: (x - mu) / sigma)\n", "settle_df" ] } ], "metadata": { "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.9.13" } }, "nbformat": 4, "nbformat_minor": 5 }