2522 lines
82 KiB
Plaintext
2522 lines
82 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "03fb4961",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>detail_id</th>\n",
|
||
" <th>order_id</th>\n",
|
||
" <th>dishes_id</th>\n",
|
||
" <th>logicprn_name</th>\n",
|
||
" <th>parent_class_name</th>\n",
|
||
" <th>dishes_name</th>\n",
|
||
" <th>itemis_add</th>\n",
|
||
" <th>counts</th>\n",
|
||
" <th>amounts</th>\n",
|
||
" <th>cost</th>\n",
|
||
" <th>place_order_time</th>\n",
|
||
" <th>discount_amt</th>\n",
|
||
" <th>discount_reason</th>\n",
|
||
" <th>kick_back</th>\n",
|
||
" <th>add_inprice</th>\n",
|
||
" <th>add_info</th>\n",
|
||
" <th>bar_code</th>\n",
|
||
" <th>picture_file</th>\n",
|
||
" <th>emp_id</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>2956</td>\n",
|
||
" <td>417</td>\n",
|
||
" <td>610062</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>蒜蓉生蚝</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>49</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>2016/8/111:05:00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>caipu/104001.jpg</td>\n",
|
||
" <td>1442</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>2958</td>\n",
|
||
" <td>417</td>\n",
|
||
" <td>609957</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>蒙古烤羊腿</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>48</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>2016/8/111:07:00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>caipu/202003.jpg</td>\n",
|
||
" <td>1442</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>2961</td>\n",
|
||
" <td>417</td>\n",
|
||
" <td>609950</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>大蒜苋菜</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>30</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>2016/8/111:07:00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>caipu/303001.jpg</td>\n",
|
||
" <td>1442</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>2966</td>\n",
|
||
" <td>417</td>\n",
|
||
" <td>610038</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>芝麻烤紫菜</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>2016/8/111:11:00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>caipu/105002.jpg</td>\n",
|
||
" <td>1442</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>2968</td>\n",
|
||
" <td>417</td>\n",
|
||
" <td>610003</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>蒜香包</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>13</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>2016/8/111:11:00</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>caipu/503002.jpg</td>\n",
|
||
" <td>1442</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" detail_id order_id dishes_id logicprn_name parent_class_name \\\n",
|
||
"0 2956 417 610062 NaN NaN \n",
|
||
"1 2958 417 609957 NaN NaN \n",
|
||
"2 2961 417 609950 NaN NaN \n",
|
||
"3 2966 417 610038 NaN NaN \n",
|
||
"4 2968 417 610003 NaN NaN \n",
|
||
"\n",
|
||
" dishes_name itemis_add counts amounts cost place_order_time \\\n",
|
||
"0 蒜蓉生蚝 0 1 49 NaN 2016/8/111:05:00 \n",
|
||
"1 蒙古烤羊腿 0 1 48 NaN 2016/8/111:07:00 \n",
|
||
"2 大蒜苋菜 0 1 30 NaN 2016/8/111:07:00 \n",
|
||
"3 芝麻烤紫菜 0 1 25 NaN 2016/8/111:11:00 \n",
|
||
"4 蒜香包 0 1 13 NaN 2016/8/111:11:00 \n",
|
||
"\n",
|
||
" discount_amt discount_reason kick_back add_inprice add_info bar_code \\\n",
|
||
"0 NaN NaN NaN 0 NaN NaN \n",
|
||
"1 NaN NaN NaN 0 NaN NaN \n",
|
||
"2 NaN NaN NaN 0 NaN NaN \n",
|
||
"3 NaN NaN NaN 0 NaN NaN \n",
|
||
"4 NaN NaN NaN 0 NaN NaN \n",
|
||
"\n",
|
||
" picture_file emp_id \n",
|
||
"0 caipu/104001.jpg 1442 \n",
|
||
"1 caipu/202003.jpg 1442 \n",
|
||
"2 caipu/303001.jpg 1442 \n",
|
||
"3 caipu/105002.jpg 1442 \n",
|
||
"4 caipu/503002.jpg 1442 "
|
||
]
|
||
},
|
||
"execution_count": 1,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"filepath='detail.csv'\n",
|
||
"#注意读取时的编码问题\n",
|
||
"df=pd.read_csv(filepath,encoding='gbk')\n",
|
||
"df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "218f0753",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"<class 'pandas.core.frame.DataFrame'>\n",
|
||
"RangeIndex: 10037 entries, 0 to 10036\n",
|
||
"Data columns (total 19 columns):\n",
|
||
" # Column Non-Null Count Dtype \n",
|
||
"--- ------ -------------- ----- \n",
|
||
" 0 detail_id 10037 non-null int64 \n",
|
||
" 1 order_id 10037 non-null int64 \n",
|
||
" 2 dishes_id 10037 non-null int64 \n",
|
||
" 3 logicprn_name 0 non-null float64\n",
|
||
" 4 parent_class_name 0 non-null float64\n",
|
||
" 5 dishes_name 10037 non-null object \n",
|
||
" 6 itemis_add 10037 non-null int64 \n",
|
||
" 7 counts 10037 non-null int64 \n",
|
||
" 8 amounts 10037 non-null int64 \n",
|
||
" 9 cost 0 non-null float64\n",
|
||
" 10 place_order_time 10037 non-null object \n",
|
||
" 11 discount_amt 0 non-null float64\n",
|
||
" 12 discount_reason 0 non-null float64\n",
|
||
" 13 kick_back 0 non-null float64\n",
|
||
" 14 add_inprice 10037 non-null int64 \n",
|
||
" 15 add_info 0 non-null float64\n",
|
||
" 16 bar_code 0 non-null float64\n",
|
||
" 17 picture_file 10037 non-null object \n",
|
||
" 18 emp_id 10037 non-null int64 \n",
|
||
"dtypes: float64(8), int64(8), object(3)\n",
|
||
"memory usage: 1.5+ MB\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"df.info()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "c649b2cd",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>detail_id</th>\n",
|
||
" <th>order_id</th>\n",
|
||
" <th>dishes_id</th>\n",
|
||
" <th>logicprn_name</th>\n",
|
||
" <th>parent_class_name</th>\n",
|
||
" <th>itemis_add</th>\n",
|
||
" <th>counts</th>\n",
|
||
" <th>amounts</th>\n",
|
||
" <th>cost</th>\n",
|
||
" <th>discount_amt</th>\n",
|
||
" <th>discount_reason</th>\n",
|
||
" <th>kick_back</th>\n",
|
||
" <th>add_inprice</th>\n",
|
||
" <th>add_info</th>\n",
|
||
" <th>bar_code</th>\n",
|
||
" <th>emp_id</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>count</th>\n",
|
||
" <td>10037.000000</td>\n",
|
||
" <td>10037.000000</td>\n",
|
||
" <td>10037.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10037.0</td>\n",
|
||
" <td>10037.000000</td>\n",
|
||
" <td>10037.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10037.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10037.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>mean</th>\n",
|
||
" <td>4712.339344</td>\n",
|
||
" <td>802.775630</td>\n",
|
||
" <td>609985.155026</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.108499</td>\n",
|
||
" <td>44.821361</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1207.549766</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>std</th>\n",
|
||
" <td>1747.410959</td>\n",
|
||
" <td>320.209032</td>\n",
|
||
" <td>118.412398</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.611016</td>\n",
|
||
" <td>35.815435</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>166.800691</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>min</th>\n",
|
||
" <td>753.000000</td>\n",
|
||
" <td>137.000000</td>\n",
|
||
" <td>606000.000000</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>982.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>25%</th>\n",
|
||
" <td>3369.000000</td>\n",
|
||
" <td>542.000000</td>\n",
|
||
" <td>609952.000000</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>25.000000</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1097.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>50%</th>\n",
|
||
" <td>4666.000000</td>\n",
|
||
" <td>780.000000</td>\n",
|
||
" <td>609983.000000</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>35.000000</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1147.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>75%</th>\n",
|
||
" <td>5971.000000</td>\n",
|
||
" <td>1110.000000</td>\n",
|
||
" <td>610021.000000</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>56.000000</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1293.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>max</th>\n",
|
||
" <td>8246.000000</td>\n",
|
||
" <td>1324.000000</td>\n",
|
||
" <td>610072.000000</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10.000000</td>\n",
|
||
" <td>178.000000</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1610.000000</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" detail_id order_id dishes_id logicprn_name \\\n",
|
||
"count 10037.000000 10037.000000 10037.000000 0.0 \n",
|
||
"mean 4712.339344 802.775630 609985.155026 NaN \n",
|
||
"std 1747.410959 320.209032 118.412398 NaN \n",
|
||
"min 753.000000 137.000000 606000.000000 NaN \n",
|
||
"25% 3369.000000 542.000000 609952.000000 NaN \n",
|
||
"50% 4666.000000 780.000000 609983.000000 NaN \n",
|
||
"75% 5971.000000 1110.000000 610021.000000 NaN \n",
|
||
"max 8246.000000 1324.000000 610072.000000 NaN \n",
|
||
"\n",
|
||
" parent_class_name itemis_add counts amounts cost \\\n",
|
||
"count 0.0 10037.0 10037.000000 10037.000000 0.0 \n",
|
||
"mean NaN 0.0 1.108499 44.821361 NaN \n",
|
||
"std NaN 0.0 0.611016 35.815435 NaN \n",
|
||
"min NaN 0.0 1.000000 1.000000 NaN \n",
|
||
"25% NaN 0.0 1.000000 25.000000 NaN \n",
|
||
"50% NaN 0.0 1.000000 35.000000 NaN \n",
|
||
"75% NaN 0.0 1.000000 56.000000 NaN \n",
|
||
"max NaN 0.0 10.000000 178.000000 NaN \n",
|
||
"\n",
|
||
" discount_amt discount_reason kick_back add_inprice add_info \\\n",
|
||
"count 0.0 0.0 0.0 10037.0 0.0 \n",
|
||
"mean NaN NaN NaN 0.0 NaN \n",
|
||
"std NaN NaN NaN 0.0 NaN \n",
|
||
"min NaN NaN NaN 0.0 NaN \n",
|
||
"25% NaN NaN NaN 0.0 NaN \n",
|
||
"50% NaN NaN NaN 0.0 NaN \n",
|
||
"75% NaN NaN NaN 0.0 NaN \n",
|
||
"max NaN NaN NaN 0.0 NaN \n",
|
||
"\n",
|
||
" bar_code emp_id \n",
|
||
"count 0.0 10037.000000 \n",
|
||
"mean NaN 1207.549766 \n",
|
||
"std NaN 166.800691 \n",
|
||
"min NaN 982.000000 \n",
|
||
"25% NaN 1097.000000 \n",
|
||
"50% NaN 1147.000000 \n",
|
||
"75% NaN 1293.000000 \n",
|
||
"max NaN 1610.000000 "
|
||
]
|
||
},
|
||
"execution_count": 3,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df.describe()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "c68b394d",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"array([2956, 2958, 2961, ..., 5379, 5380, 5688], dtype=int64)"
|
||
]
|
||
},
|
||
"execution_count": 4,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df['detail_id'].values #这是一个numpy,如果取df['detail_id'],则其为dataframe的series,也就是dataframe的一列"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "06ff220e",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"(Index(['detail_id', 'order_id', 'dishes_id', 'logicprn_name',\n",
|
||
" 'parent_class_name', 'dishes_name', 'itemis_add', 'counts', 'amounts',\n",
|
||
" 'cost', 'place_order_time', 'discount_amt', 'discount_reason',\n",
|
||
" 'kick_back', 'add_inprice', 'add_info', 'bar_code', 'picture_file',\n",
|
||
" 'emp_id'],\n",
|
||
" dtype='object'),\n",
|
||
" (10037, 19),\n",
|
||
" 190703)"
|
||
]
|
||
},
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df.columns,df.shape,df.size"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "116c7fd1",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>order_id</th>\n",
|
||
" <th>dishes_name</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>145</th>\n",
|
||
" <td>458</td>\n",
|
||
" <td>蒜香辣花甲</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>146</th>\n",
|
||
" <td>458</td>\n",
|
||
" <td>剁椒鱼头</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>147</th>\n",
|
||
" <td>458</td>\n",
|
||
" <td>凉拌蒜蓉西兰花</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>148</th>\n",
|
||
" <td>458</td>\n",
|
||
" <td>木须豌豆</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>149</th>\n",
|
||
" <td>458</td>\n",
|
||
" <td>辣炒鱿鱼</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>150</th>\n",
|
||
" <td>458</td>\n",
|
||
" <td>酸辣藕丁</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>151</th>\n",
|
||
" <td>458</td>\n",
|
||
" <td>炝炒大白菜</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>152</th>\n",
|
||
" <td>458</td>\n",
|
||
" <td>香菇鸡肉粥</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>153</th>\n",
|
||
" <td>458</td>\n",
|
||
" <td>干锅田鸡</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>154</th>\n",
|
||
" <td>458</td>\n",
|
||
" <td>桂圆枸杞鸽子汤</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>155</th>\n",
|
||
" <td>458</td>\n",
|
||
" <td>五香酱驴肉</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>156</th>\n",
|
||
" <td>458</td>\n",
|
||
" <td>路易拉菲红酒干红</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>157</th>\n",
|
||
" <td>458</td>\n",
|
||
" <td>避风塘炒蟹</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>158</th>\n",
|
||
" <td>458</td>\n",
|
||
" <td>白饭/大碗</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" order_id dishes_name\n",
|
||
"145 458 蒜香辣花甲\n",
|
||
"146 458 剁椒鱼头\n",
|
||
"147 458 凉拌蒜蓉西兰花\n",
|
||
"148 458 木须豌豆\n",
|
||
"149 458 辣炒鱿鱼\n",
|
||
"150 458 酸辣藕丁\n",
|
||
"151 458 炝炒大白菜\n",
|
||
"152 458 香菇鸡肉粥\n",
|
||
"153 458 干锅田鸡\n",
|
||
"154 458 桂圆枸杞鸽子汤\n",
|
||
"155 458 五香酱驴肉\n",
|
||
"156 458 路易拉菲红酒干红\n",
|
||
"157 458 避风塘炒蟹\n",
|
||
"158 458 白饭/大碗"
|
||
]
|
||
},
|
||
"execution_count": 6,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"#提取order_id=458的数据,再取第1列和第5列\n",
|
||
"detail=df\n",
|
||
"detail.iloc[(detail['order_id']==458).values,[1,5]]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"id": "c72626fc",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"白饭/大碗 323\n",
|
||
"凉拌菠菜 269\n",
|
||
"谷稻小庄 238\n",
|
||
"麻辣小龙虾 216\n",
|
||
"辣炒鱿鱼 189\n",
|
||
" ... \n",
|
||
"特醇嘉士伯啤酒罐装 13\n",
|
||
"鸡蛋、肉末肠粉 12\n",
|
||
"三丝鳝鱼 10\n",
|
||
"百里香奶油烤紅酒牛肉 5\n",
|
||
"铁板牛肉 3\n",
|
||
"Name: dishes_name, Length: 145, dtype: int64"
|
||
]
|
||
},
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"dishes=df['dishes_name'].value_counts()\n",
|
||
"dishes"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "6a3d2cee",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>info_id</th>\n",
|
||
" <th>emp_id</th>\n",
|
||
" <th>number_consumers</th>\n",
|
||
" <th>mode</th>\n",
|
||
" <th>dining_table_id</th>\n",
|
||
" <th>dining_table_name</th>\n",
|
||
" <th>expenditure</th>\n",
|
||
" <th>dishes_count</th>\n",
|
||
" <th>accounts_payable</th>\n",
|
||
" <th>use_start_time</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>lock_time</th>\n",
|
||
" <th>cashier_id</th>\n",
|
||
" <th>pc_id</th>\n",
|
||
" <th>order_number</th>\n",
|
||
" <th>org_id</th>\n",
|
||
" <th>print_doc_bill_num</th>\n",
|
||
" <th>lock_table_info</th>\n",
|
||
" <th>order_status</th>\n",
|
||
" <th>phone</th>\n",
|
||
" <th>name</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>417</td>\n",
|
||
" <td>1442</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1501</td>\n",
|
||
" <td>1022</td>\n",
|
||
" <td>165</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>165</td>\n",
|
||
" <td>2016/8/1 11:05:36</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>2016/8/1 11:11:46</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>330</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>18688880641</td>\n",
|
||
" <td>苗宇怡</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>301</td>\n",
|
||
" <td>1095</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1430</td>\n",
|
||
" <td>1031</td>\n",
|
||
" <td>321</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>321</td>\n",
|
||
" <td>2016/8/1 11:15:57</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>2016/8/1 11:31:55</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>328</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>18688880174</td>\n",
|
||
" <td>赵颖</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>413</td>\n",
|
||
" <td>1147</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1488</td>\n",
|
||
" <td>1009</td>\n",
|
||
" <td>854</td>\n",
|
||
" <td>15</td>\n",
|
||
" <td>854</td>\n",
|
||
" <td>2016/8/1 12:42:52</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>2016/8/1 12:54:37</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>330</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>18688880276</td>\n",
|
||
" <td>徐毅凡</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>415</td>\n",
|
||
" <td>1166</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1502</td>\n",
|
||
" <td>1023</td>\n",
|
||
" <td>466</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>466</td>\n",
|
||
" <td>2016/8/1 12:51:38</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>2016/8/1 13:08:20</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>330</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>18688880231</td>\n",
|
||
" <td>张大鹏</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>392</td>\n",
|
||
" <td>1094</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1499</td>\n",
|
||
" <td>1020</td>\n",
|
||
" <td>704</td>\n",
|
||
" <td>24</td>\n",
|
||
" <td>704</td>\n",
|
||
" <td>2016/8/1 12:58:44</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>2016/8/1 13:07:16</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>330</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>18688880173</td>\n",
|
||
" <td>孙熙凯</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>940</th>\n",
|
||
" <td>641</td>\n",
|
||
" <td>1095</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1492</td>\n",
|
||
" <td>1013</td>\n",
|
||
" <td>679</td>\n",
|
||
" <td>12</td>\n",
|
||
" <td>679</td>\n",
|
||
" <td>2016/8/31 21:23:48</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>2016/8/31 21:31:48</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>330</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>18688880307</td>\n",
|
||
" <td>李靖</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>941</th>\n",
|
||
" <td>672</td>\n",
|
||
" <td>1089</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1489</td>\n",
|
||
" <td>1010</td>\n",
|
||
" <td>800</td>\n",
|
||
" <td>24</td>\n",
|
||
" <td>800</td>\n",
|
||
" <td>2016/8/31 21:24:12</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>2016/8/31 21:56:12</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>330</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>18688880305</td>\n",
|
||
" <td>莫言</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>942</th>\n",
|
||
" <td>692</td>\n",
|
||
" <td>1155</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1492</td>\n",
|
||
" <td>1013</td>\n",
|
||
" <td>735</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>735</td>\n",
|
||
" <td>2016/8/31 21:25:18</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>2016/8/31 21:33:34</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>330</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>18688880327</td>\n",
|
||
" <td>习一冰</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>943</th>\n",
|
||
" <td>647</td>\n",
|
||
" <td>1094</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1485</td>\n",
|
||
" <td>1006</td>\n",
|
||
" <td>262</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>262</td>\n",
|
||
" <td>2016/8/31 21:37:39</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>2016/8/31 21:55:39</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>330</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>18688880207</td>\n",
|
||
" <td>章春华</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>944</th>\n",
|
||
" <td>570</td>\n",
|
||
" <td>1113</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1517</td>\n",
|
||
" <td>1038</td>\n",
|
||
" <td>589</td>\n",
|
||
" <td>13</td>\n",
|
||
" <td>589</td>\n",
|
||
" <td>2016/8/31 21:41:56</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>2016/8/31 21:32:56</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>330</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>18688880313</td>\n",
|
||
" <td>唐雅嘉</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>945 rows × 21 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" info_id emp_id number_consumers mode dining_table_id \\\n",
|
||
"0 417 1442 4 NaN 1501 \n",
|
||
"1 301 1095 3 NaN 1430 \n",
|
||
"2 413 1147 6 NaN 1488 \n",
|
||
"3 415 1166 4 NaN 1502 \n",
|
||
"4 392 1094 10 NaN 1499 \n",
|
||
".. ... ... ... ... ... \n",
|
||
"940 641 1095 8 NaN 1492 \n",
|
||
"941 672 1089 6 NaN 1489 \n",
|
||
"942 692 1155 8 NaN 1492 \n",
|
||
"943 647 1094 4 NaN 1485 \n",
|
||
"944 570 1113 8 NaN 1517 \n",
|
||
"\n",
|
||
" dining_table_name expenditure dishes_count accounts_payable \\\n",
|
||
"0 1022 165 5 165 \n",
|
||
"1 1031 321 6 321 \n",
|
||
"2 1009 854 15 854 \n",
|
||
"3 1023 466 10 466 \n",
|
||
"4 1020 704 24 704 \n",
|
||
".. ... ... ... ... \n",
|
||
"940 1013 679 12 679 \n",
|
||
"941 1010 800 24 800 \n",
|
||
"942 1013 735 10 735 \n",
|
||
"943 1006 262 9 262 \n",
|
||
"944 1038 589 13 589 \n",
|
||
"\n",
|
||
" use_start_time ... lock_time cashier_id pc_id \\\n",
|
||
"0 2016/8/1 11:05:36 ... 2016/8/1 11:11:46 NaN NaN \n",
|
||
"1 2016/8/1 11:15:57 ... 2016/8/1 11:31:55 NaN NaN \n",
|
||
"2 2016/8/1 12:42:52 ... 2016/8/1 12:54:37 NaN NaN \n",
|
||
"3 2016/8/1 12:51:38 ... 2016/8/1 13:08:20 NaN NaN \n",
|
||
"4 2016/8/1 12:58:44 ... 2016/8/1 13:07:16 NaN NaN \n",
|
||
".. ... ... ... ... ... \n",
|
||
"940 2016/8/31 21:23:48 ... 2016/8/31 21:31:48 NaN NaN \n",
|
||
"941 2016/8/31 21:24:12 ... 2016/8/31 21:56:12 NaN NaN \n",
|
||
"942 2016/8/31 21:25:18 ... 2016/8/31 21:33:34 NaN NaN \n",
|
||
"943 2016/8/31 21:37:39 ... 2016/8/31 21:55:39 NaN NaN \n",
|
||
"944 2016/8/31 21:41:56 ... 2016/8/31 21:32:56 NaN NaN \n",
|
||
"\n",
|
||
" order_number org_id print_doc_bill_num lock_table_info order_status \\\n",
|
||
"0 NaN 330 NaN NaN 1 \n",
|
||
"1 NaN 328 NaN NaN 1 \n",
|
||
"2 NaN 330 NaN NaN 1 \n",
|
||
"3 NaN 330 NaN NaN 1 \n",
|
||
"4 NaN 330 NaN NaN 1 \n",
|
||
".. ... ... ... ... ... \n",
|
||
"940 NaN 330 NaN NaN 1 \n",
|
||
"941 NaN 330 NaN NaN 1 \n",
|
||
"942 NaN 330 NaN NaN 1 \n",
|
||
"943 NaN 330 NaN NaN 1 \n",
|
||
"944 NaN 330 NaN NaN 1 \n",
|
||
"\n",
|
||
" phone name \n",
|
||
"0 18688880641 苗宇怡 \n",
|
||
"1 18688880174 赵颖 \n",
|
||
"2 18688880276 徐毅凡 \n",
|
||
"3 18688880231 张大鹏 \n",
|
||
"4 18688880173 孙熙凯 \n",
|
||
".. ... ... \n",
|
||
"940 18688880307 李靖 \n",
|
||
"941 18688880305 莫言 \n",
|
||
"942 18688880327 习一冰 \n",
|
||
"943 18688880207 章春华 \n",
|
||
"944 18688880313 唐雅嘉 \n",
|
||
"\n",
|
||
"[945 rows x 21 columns]"
|
||
]
|
||
},
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"data=pd.read_csv('meal_order_info.csv',encoding='gbk')\n",
|
||
"data"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "d7236136",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0 1\n",
|
||
"1 1\n",
|
||
"2 1\n",
|
||
"3 1\n",
|
||
"4 1\n",
|
||
" ..\n",
|
||
"10032 1\n",
|
||
"10033 1\n",
|
||
"10034 1\n",
|
||
"10035 1\n",
|
||
"10036 1\n",
|
||
"Name: counts, Length: 10037, dtype: int64"
|
||
]
|
||
},
|
||
"execution_count": 9,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df['counts']"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"id": "74ded866",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"data_gb=df[['order_id','counts','amounts']].groupby(by='order_id')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"id": "086605b5",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>counts</th>\n",
|
||
" <th>amounts</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>sum</th>\n",
|
||
" <td>11126.0</td>\n",
|
||
" <td>449872.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>mean</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>44.821361</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" counts amounts\n",
|
||
"sum 11126.0 449872.000000\n",
|
||
"mean NaN 44.821361"
|
||
]
|
||
},
|
||
"execution_count": 12,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"import numpy as np\n",
|
||
"df[['counts','amounts']].agg(np.sum)\n",
|
||
"df[['counts','amounts']].agg([np.sum,np.mean])\n",
|
||
"#分别对counts做求和,对amounts做求和以及求均值\n",
|
||
"df[['counts','amounts']].agg({'counts':np.sum,'amounts':[np.sum,np.mean]})"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"id": "a3b81087",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>counts</th>\n",
|
||
" <th>amounts</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>1</td>\n",
|
||
" <td>2401</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>1</td>\n",
|
||
" <td>2304</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>1</td>\n",
|
||
" <td>900</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>1</td>\n",
|
||
" <td>625</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>1</td>\n",
|
||
" <td>169</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" counts amounts\n",
|
||
"0 1 2401\n",
|
||
"1 1 2304\n",
|
||
"2 1 900\n",
|
||
"3 1 625\n",
|
||
"4 1 169"
|
||
]
|
||
},
|
||
"execution_count": 13,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df[['counts','amounts']].transform(lambda x:x**2).head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"id": "654c1732",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>counts</th>\n",
|
||
" <th>amounts</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>0</td>\n",
|
||
" <td>36</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>0</td>\n",
|
||
" <td>36</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>0</td>\n",
|
||
" <td>36</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>0</td>\n",
|
||
" <td>36</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>0</td>\n",
|
||
" <td>36</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>10032</th>\n",
|
||
" <td>0</td>\n",
|
||
" <td>102</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>10033</th>\n",
|
||
" <td>0</td>\n",
|
||
" <td>102</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>10034</th>\n",
|
||
" <td>0</td>\n",
|
||
" <td>59</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>10035</th>\n",
|
||
" <td>0</td>\n",
|
||
" <td>59</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>10036</th>\n",
|
||
" <td>0</td>\n",
|
||
" <td>102</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>10037 rows × 2 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" counts amounts\n",
|
||
"0 0 36\n",
|
||
"1 0 36\n",
|
||
"2 0 36\n",
|
||
"3 0 36\n",
|
||
"4 0 36\n",
|
||
"... ... ...\n",
|
||
"10032 0 102\n",
|
||
"10033 0 102\n",
|
||
"10034 0 59\n",
|
||
"10035 0 59\n",
|
||
"10036 0 102\n",
|
||
"\n",
|
||
"[10037 rows x 2 columns]"
|
||
]
|
||
},
|
||
"execution_count": 14,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"data_gb.transform(lambda x: x.max()-x.min())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"id": "778574f4",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>amounts</th>\n",
|
||
" <th>counts</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>order_id</th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>137</th>\n",
|
||
" <td>194</td>\n",
|
||
" <td>9</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>162</th>\n",
|
||
" <td>1032</td>\n",
|
||
" <td>18</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>163</th>\n",
|
||
" <td>182</td>\n",
|
||
" <td>10</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>165</th>\n",
|
||
" <td>953</td>\n",
|
||
" <td>21</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>166</th>\n",
|
||
" <td>241</td>\n",
|
||
" <td>7</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1320</th>\n",
|
||
" <td>78</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1321</th>\n",
|
||
" <td>458</td>\n",
|
||
" <td>7</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1322</th>\n",
|
||
" <td>547</td>\n",
|
||
" <td>13</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1323</th>\n",
|
||
" <td>764</td>\n",
|
||
" <td>15</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1324</th>\n",
|
||
" <td>438</td>\n",
|
||
" <td>13</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>942 rows × 2 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" amounts counts\n",
|
||
"order_id \n",
|
||
"137 194 9\n",
|
||
"162 1032 18\n",
|
||
"163 182 10\n",
|
||
"165 953 21\n",
|
||
"166 241 7\n",
|
||
"... ... ...\n",
|
||
"1320 78 1\n",
|
||
"1321 458 7\n",
|
||
"1322 547 13\n",
|
||
"1323 764 15\n",
|
||
"1324 438 13\n",
|
||
"\n",
|
||
"[942 rows x 2 columns]"
|
||
]
|
||
},
|
||
"execution_count": 15,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"pd.pivot_table(df[['order_id','counts','amounts']],index='order_id',aggfunc=np.sum)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 16,
|
||
"id": "902ea4c5",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th>amounts</th>\n",
|
||
" <th>counts</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>order_id</th>\n",
|
||
" <th>dishes_name</th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th rowspan=\"5\" valign=\"top\">137</th>\n",
|
||
" <th>农夫山泉NFC果汁100%橙汁</th>\n",
|
||
" <td>6</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>凉拌菠菜</th>\n",
|
||
" <td>27</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>番茄炖牛腩</th>\n",
|
||
" <td>35</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>白饭/小碗</th>\n",
|
||
" <td>1</td>\n",
|
||
" <td>4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>西瓜胡萝卜沙拉</th>\n",
|
||
" <td>26</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th rowspan=\"5\" valign=\"top\">1324</th>\n",
|
||
" <th>花蛤蒸蛋</th>\n",
|
||
" <td>37</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>葱油凉拌藕片</th>\n",
|
||
" <td>30</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>香烤牛排</th>\n",
|
||
" <td>55</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>香菇鹌鹑蛋</th>\n",
|
||
" <td>39</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>黑米恋上葡萄</th>\n",
|
||
" <td>33</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>10036 rows × 2 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" amounts counts\n",
|
||
"order_id dishes_name \n",
|
||
"137 农夫山泉NFC果汁100%橙汁 6 1\n",
|
||
" 凉拌菠菜 27 1\n",
|
||
" 番茄炖牛腩 35 1\n",
|
||
" 白饭/小碗 1 4\n",
|
||
" 西瓜胡萝卜沙拉 26 1\n",
|
||
"... ... ...\n",
|
||
"1324 花蛤蒸蛋 37 1\n",
|
||
" 葱油凉拌藕片 30 1\n",
|
||
" 香烤牛排 55 1\n",
|
||
" 香菇鹌鹑蛋 39 1\n",
|
||
" 黑米恋上葡萄 33 1\n",
|
||
"\n",
|
||
"[10036 rows x 2 columns]"
|
||
]
|
||
},
|
||
"execution_count": 16,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"pd.pivot_table(df[['order_id','counts','amounts','dishes_name']],index=['order_id','dishes_name'],aggfunc=np.sum)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"id": "cc5ff0fd",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead tr th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead tr:last-of-type th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr>\n",
|
||
" <th></th>\n",
|
||
" <th colspan=\"10\" halign=\"left\">amounts</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th colspan=\"10\" halign=\"left\">counts</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>dishes_name</th>\n",
|
||
" <th>38度剑南春</th>\n",
|
||
" <th>42度海之蓝</th>\n",
|
||
" <th>50度古井贡酒</th>\n",
|
||
" <th>52度泸州老窖</th>\n",
|
||
" <th>53度茅台</th>\n",
|
||
" <th>一品香酥藕</th>\n",
|
||
" <th>三丝鳝鱼</th>\n",
|
||
" <th>三色凉拌手撕兔</th>\n",
|
||
" <th>不加一滴油的酸奶蛋糕</th>\n",
|
||
" <th>五彩藕苗</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>香酥两吃大虾</th>\n",
|
||
" <th>鱼香肉丝拌面</th>\n",
|
||
" <th>鲜美鳝鱼</th>\n",
|
||
" <th>鸡蛋、肉末肠粉</th>\n",
|
||
" <th>麻辣小龙虾</th>\n",
|
||
" <th>黄尾袋鼠西拉子红葡萄酒</th>\n",
|
||
" <th>黄油曲奇饼干</th>\n",
|
||
" <th>黄花菜炒木耳</th>\n",
|
||
" <th>黑米恋上葡萄</th>\n",
|
||
" <th>All</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>order_id</th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>137</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>9</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>162</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>128.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>18</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>163</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>165</th>\n",
|
||
" <td>80.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>10.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>21</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>166</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>7</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1321</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>7</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1322</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>13</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1323</th>\n",
|
||
" <td>80.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>15</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1324</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>13</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>All</th>\n",
|
||
" <td>1920.0</td>\n",
|
||
" <td>1683.0</td>\n",
|
||
" <td>1890.0</td>\n",
|
||
" <td>3498.0</td>\n",
|
||
" <td>4608.0</td>\n",
|
||
" <td>480.0</td>\n",
|
||
" <td>550.0</td>\n",
|
||
" <td>1452.0</td>\n",
|
||
" <td>252.0</td>\n",
|
||
" <td>1435.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>179.0</td>\n",
|
||
" <td>40.0</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>14.0</td>\n",
|
||
" <td>219.0</td>\n",
|
||
" <td>53.0</td>\n",
|
||
" <td>28.0</td>\n",
|
||
" <td>62.0</td>\n",
|
||
" <td>58.0</td>\n",
|
||
" <td>11126</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>943 rows × 292 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" amounts \\\n",
|
||
"dishes_name 38度剑南春 42度海之蓝 50度古井贡酒 52度泸州老窖 53度茅台 一品香酥藕 三丝鳝鱼 三色凉拌手撕兔 \n",
|
||
"order_id \n",
|
||
"137 NaN NaN NaN NaN NaN NaN NaN NaN \n",
|
||
"162 NaN NaN NaN NaN 128.0 NaN NaN NaN \n",
|
||
"163 NaN NaN NaN NaN NaN NaN NaN NaN \n",
|
||
"165 80.0 NaN NaN NaN NaN 10.0 NaN NaN \n",
|
||
"166 NaN NaN NaN NaN NaN NaN NaN NaN \n",
|
||
"... ... ... ... ... ... ... ... ... \n",
|
||
"1321 NaN NaN NaN NaN NaN NaN NaN NaN \n",
|
||
"1322 NaN NaN NaN NaN NaN NaN NaN NaN \n",
|
||
"1323 80.0 NaN NaN NaN NaN NaN NaN NaN \n",
|
||
"1324 NaN NaN NaN NaN NaN NaN NaN NaN \n",
|
||
"All 1920.0 1683.0 1890.0 3498.0 4608.0 480.0 550.0 1452.0 \n",
|
||
"\n",
|
||
" ... counts \\\n",
|
||
"dishes_name 不加一滴油的酸奶蛋糕 五彩藕苗 ... 香酥两吃大虾 鱼香肉丝拌面 鲜美鳝鱼 鸡蛋、肉末肠粉 麻辣小龙虾 \n",
|
||
"order_id ... \n",
|
||
"137 NaN NaN ... NaN NaN NaN NaN 1.0 \n",
|
||
"162 NaN NaN ... NaN NaN NaN NaN 1.0 \n",
|
||
"163 NaN NaN ... NaN NaN NaN NaN 1.0 \n",
|
||
"165 NaN NaN ... NaN NaN NaN NaN NaN \n",
|
||
"166 NaN NaN ... NaN NaN NaN NaN NaN \n",
|
||
"... ... ... ... ... ... ... ... ... \n",
|
||
"1321 NaN NaN ... NaN NaN NaN NaN NaN \n",
|
||
"1322 NaN NaN ... NaN NaN NaN NaN NaN \n",
|
||
"1323 NaN NaN ... NaN NaN NaN NaN NaN \n",
|
||
"1324 7.0 NaN ... NaN NaN NaN NaN NaN \n",
|
||
"All 252.0 1435.0 ... 179.0 40.0 22.0 14.0 219.0 \n",
|
||
"\n",
|
||
" \n",
|
||
"dishes_name 黄尾袋鼠西拉子红葡萄酒 黄油曲奇饼干 黄花菜炒木耳 黑米恋上葡萄 All \n",
|
||
"order_id \n",
|
||
"137 NaN NaN NaN NaN 9 \n",
|
||
"162 NaN 2.0 NaN NaN 18 \n",
|
||
"163 NaN NaN NaN NaN 10 \n",
|
||
"165 NaN NaN 1.0 NaN 21 \n",
|
||
"166 NaN NaN NaN NaN 7 \n",
|
||
"... ... ... ... ... ... \n",
|
||
"1321 NaN NaN NaN NaN 7 \n",
|
||
"1322 NaN NaN NaN NaN 13 \n",
|
||
"1323 NaN NaN NaN NaN 15 \n",
|
||
"1324 NaN NaN NaN 1.0 13 \n",
|
||
"All 53.0 28.0 62.0 58.0 11126 \n",
|
||
"\n",
|
||
"[943 rows x 292 columns]"
|
||
]
|
||
},
|
||
"execution_count": 17,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"pd.pivot_table(df[['order_id', 'counts', 'amounts', 'dishes_name']], index='order_id',\n",
|
||
" columns='dishes_name', margins=True, aggfunc=np.sum)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 18,
|
||
"id": "e9a3ca67",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th>dishes_name</th>\n",
|
||
" <th>38度剑南春</th>\n",
|
||
" <th>42度海之蓝</th>\n",
|
||
" <th>50度古井贡酒</th>\n",
|
||
" <th>52度泸州老窖</th>\n",
|
||
" <th>53度茅台</th>\n",
|
||
" <th>一品香酥藕</th>\n",
|
||
" <th>三丝鳝鱼</th>\n",
|
||
" <th>三色凉拌手撕兔</th>\n",
|
||
" <th>不加一滴油的酸奶蛋糕</th>\n",
|
||
" <th>五彩藕苗</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>香酥两吃大虾</th>\n",
|
||
" <th>鱼香肉丝拌面</th>\n",
|
||
" <th>鲜美鳝鱼</th>\n",
|
||
" <th>鸡蛋、肉末肠粉</th>\n",
|
||
" <th>麻辣小龙虾</th>\n",
|
||
" <th>黄尾袋鼠西拉子红葡萄酒</th>\n",
|
||
" <th>黄油曲奇饼干</th>\n",
|
||
" <th>黄花菜炒木耳</th>\n",
|
||
" <th>黑米恋上葡萄</th>\n",
|
||
" <th>All</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>order_id</th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>137</th>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>162</th>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>18</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>163</th>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>10</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>165</th>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>21</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>166</th>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>7</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1321</th>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>7</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1322</th>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>13</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1323</th>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>15</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1324</th>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>13</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>All</th>\n",
|
||
" <td>24.0</td>\n",
|
||
" <td>25.0</td>\n",
|
||
" <td>21.0</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>39.0</td>\n",
|
||
" <td>51.0</td>\n",
|
||
" <td>10.0</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>38.0</td>\n",
|
||
" <td>41.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>179.0</td>\n",
|
||
" <td>40.0</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>14.0</td>\n",
|
||
" <td>219.0</td>\n",
|
||
" <td>53.0</td>\n",
|
||
" <td>28.0</td>\n",
|
||
" <td>62.0</td>\n",
|
||
" <td>58.0</td>\n",
|
||
" <td>11126</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>943 rows × 146 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
"dishes_name 38度剑南春 42度海之蓝 50度古井贡酒 52度泸州老窖 53度茅台 一品香酥藕 三丝鳝鱼 三色凉拌手撕兔 \\\n",
|
||
"order_id \n",
|
||
"137 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
|
||
"162 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 \n",
|
||
"163 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
|
||
"165 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 \n",
|
||
"166 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
|
||
"... ... ... ... ... ... ... ... ... \n",
|
||
"1321 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
|
||
"1322 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
|
||
"1323 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
|
||
"1324 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
|
||
"All 24.0 25.0 21.0 22.0 39.0 51.0 10.0 22.0 \n",
|
||
"\n",
|
||
"dishes_name 不加一滴油的酸奶蛋糕 五彩藕苗 ... 香酥两吃大虾 鱼香肉丝拌面 鲜美鳝鱼 鸡蛋、肉末肠粉 麻辣小龙虾 \\\n",
|
||
"order_id ... \n",
|
||
"137 0.0 0.0 ... 0.0 0.0 0.0 0.0 1.0 \n",
|
||
"162 0.0 0.0 ... 0.0 0.0 0.0 0.0 1.0 \n",
|
||
"163 0.0 0.0 ... 0.0 0.0 0.0 0.0 1.0 \n",
|
||
"165 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 \n",
|
||
"166 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 \n",
|
||
"... ... ... ... ... ... ... ... ... \n",
|
||
"1321 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 \n",
|
||
"1322 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 \n",
|
||
"1323 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 \n",
|
||
"1324 1.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 \n",
|
||
"All 38.0 41.0 ... 179.0 40.0 22.0 14.0 219.0 \n",
|
||
"\n",
|
||
"dishes_name 黄尾袋鼠西拉子红葡萄酒 黄油曲奇饼干 黄花菜炒木耳 黑米恋上葡萄 All \n",
|
||
"order_id \n",
|
||
"137 0.0 0.0 0.0 0.0 9 \n",
|
||
"162 0.0 2.0 0.0 0.0 18 \n",
|
||
"163 0.0 0.0 0.0 0.0 10 \n",
|
||
"165 0.0 0.0 1.0 0.0 21 \n",
|
||
"166 0.0 0.0 0.0 0.0 7 \n",
|
||
"... ... ... ... ... ... \n",
|
||
"1321 0.0 0.0 0.0 0.0 7 \n",
|
||
"1322 0.0 0.0 0.0 0.0 13 \n",
|
||
"1323 0.0 0.0 0.0 0.0 15 \n",
|
||
"1324 0.0 0.0 0.0 1.0 13 \n",
|
||
"All 53.0 28.0 62.0 58.0 11126 \n",
|
||
"\n",
|
||
"[943 rows x 146 columns]"
|
||
]
|
||
},
|
||
"execution_count": 18,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"pd.crosstab(index=df['order_id'], columns=df['dishes_name'], values=df['counts'], dropna=True,\n",
|
||
" margins=True, aggfunc=np.sum).fillna(0)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "b4036fc1",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3 (ipykernel)",
|
||
"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.12"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|