初识pandas及基本的增删改查
pandas
pandas
1.表格數據操作;【增刪改查】
2.實現多個表格的處理;
3.數據清洗操作: 缺失值,重復值,異常值,數據標準化,數據轉換的操作;
4.實現excel的特殊操作:生成透視表,交叉表;
5.完成統計分析;
一、構建dataframe
創建方法一:
df = pd.DataFrame(data=[['ss',20, '男','0831'],['lx',20, '女','0830'],['lx',22, '女','0830']], index=['a','c', 'b'], columns=['name','age','sex','class'],) print(df) name age sex class a ss 20 男 0831 c lx 20 女 0830 b lx 22 女 0830創建方法二:
df2 = pd.DataFrame(data={'name':['ss','lx'],'age':[20, 18], 'sex':['男','女'], 'class':['0831','0830']}) print(type(df2)) <class 'pandas.core.frame.DataFrame'>二、dataframe屬性
print('df結構:\n', df.shape) print('df維度:\n', df.ndim) print('df元素個數:\n', df.size)print('df數據類型:\n', df.dtypes) print('df的列索引:\n', df.columns) print('df的行索引:\n', df.index) print('df的元素:\n', type(df.values)) #<class 'numpy.ndarray'> df結構:(3, 4) df維度:2 df元素個數:12 df數據類型:name object age int64 sex object class object dtype: object df的列索引:Index(['name', 'age', 'sex', 'class'], dtype='object') df的行索引:Index(['a', 'c', 'b'], dtype='object') df的元素:<class 'numpy.ndarray'>三、df的查找
series是一維的類型,只有一個軸
2.切多列值的方法
df[['name', 'age']][:2]| ss | 20 |
| lx | 20 |
3.條件切片
例: 獲取所有年齡大于18歲的同學
mask = df['age'] > 18 print(mask) a True c True b True Name: age, dtype: bool df.loc[mask, 'name'] a ss c lx b lx Name: name, dtype: object例: 獲取所有年齡大于18歲的女同學
mask1 = df['age']>18 mask2 = df['sex'] == '女' mask3 = mask1 & mask2 df.loc[mask3, :]| lx | 20 | 女 | 0830 |
| lx | 22 | 女 | 0830 |
df.iloc[行的位置索引, 列的位置索引]
print(df) name age sex class a ss 20 男 0831 c lx 20 女 0830 b lx 22 女 0830 df.iloc[:, 1] a 20 c 20 b 22 Name: age, dtype: int64 df.iloc[:2, 2:] # 前閉后開| 男 | 0831 |
| 女 | 0830 |
4.df增加方法
(1)增加一列:
df['address'] = ['北京','上海','北京']print(df) name age sex class address a ss 20 男 0831 北京 c lx 20 女 0830 上海 b lx 22 女 0830 北京 df['address'] = '北京' print(df) name age sex class address a ss 20 男 0831 北京 c lx 20 女 0830 北京 b lx 22 女 0830 北京(2)增加一行:
df_mini = pd.DataFrame(data={'name':['ss','lx'],'age':[20, 18], 'sex':['男','女'], 'class':['0831','0830']},index=['a','b'])df3 = df.append(df_mini,ignore_index=True ) #ignore_index: 表示忽略原始索引,重新設置索引print(df3) address age class name sex 0 北京 20 0831 ss 男 1 北京 20 0830 lx 女 2 北京 22 0830 lx 女 3 NaN 20 0831 ss 男 4 NaN 18 0830 lx 女inplace: 表示是否對原表進行修改,True為直接修改原始表格, False為不修改;
#刪除列: df3.drop(labels=['address','class'], axis=1)| 20 | ss | 男 |
| 20 | lx | 女 |
| 22 | lx | 女 |
| 20 | ss | 男 |
| 18 | lx | 女 |
四、統計分析
五、excel文件讀取:
detail = pd.read_excel(r'C:\Users\ibm\Desktop\meal_order_detail.xlsx')作業:
補充內容:
1、series構建
pd.Series(data=['lx', 'ss', 'zs'], index=[0, 1, 2]) 0 lx 1 ss 2 zs dtype: object六、讀取excel數據:
1.sheetname; 切換sheet表格
1. 可以傳入int,表示從0開始的索引;
2. 可以傳入string,表示表名稱;
3. 可以傳入None,表示一次性獲取所有表格;
4. 可以傳入list, [‘sheetname’, 2]
2.header:表示選擇哪一行作為列索引, 默認為第一行, 當header不為0時, 會將默認為列索引之前的行全部刪掉不讀;
data = pd.read_excel(r'C:\Users\ibm\Desktop\meal_order_detail.xlsx',sheet_name=0, header=2) print(data) 2958 417 609957 NA NA.1 蒙古烤羊腿 0 1 48 NA.2 \ 0 2961 417 609950 NaN NaN 大蒜莧菜 0 1 30 NaN 1 2966 417 610038 NaN NaN 芝麻烤紫菜 0 1 25 NaN 2 2968 417 610003 NaN NaN 蒜香包 0 1 13 NaN 3 1899 301 610019 NaN NaN 白斬雞 0 1 88 NaN 4 1902 301 609991 NaN NaN 香烤牛排 0 1 55 NaN 5 1906 301 609983 NaN NaN 干鍋田雞 0 1 88 NaN 6 1907 301 609981 NaN NaN 桂圓枸杞鴿子湯 0 1 48 NaN 7 1908 301 610030 NaN NaN 番茄有機花菜 0 1 32 NaN 8 1910 301 610011 NaN NaN 白飯/大碗 0 1 10 NaN 9 2916 413 609966 NaN NaN 芝士燴波士頓龍蝦 0 1 175 NaN 10 2919 413 609965 NaN NaN 蔥姜炒蟹 0 1 109 NaN 11 2921 413 609936 NaN NaN 皮蛋瘦肉粥 0 1 16 NaN 12 2923 413 609978 NaN NaN 爆炒鱔碌 0 1 55 NaN 13 2925 413 609983 NaN NaN 干鍋田雞 0 1 88 NaN 14 2927 413 610050 NaN NaN 番茄甘藍 0 1 33 NaN 15 2926 413 609984 NaN NaN 重慶特色油燒兔 0 1 69 NaN 16 2928 413 610013 NaN NaN 番茄燉秋葵 0 1 35 NaN 17 2930 413 610032 NaN NaN 長城窖釀解百納紅酒干紅葡萄酒 0 1 35 NaN 18 2932 413 609973 NaN NaN 紫薯面包卷 0 1 20 NaN 19 2934 413 610007 NaN NaN 桂圓肉紅豆八寶飯 0 1 39 NaN 20 2938 415 609964 NaN NaN 避風塘炒蟹 0 1 48 NaN 21 2935 413 609992 NaN NaN 番茄燉牛腩\r\n\r\n\r\n 0 1 35 NaN 22 2936 413 610012 NaN NaN 香菇鵪鶉蛋 0 1 39 NaN 23 2940 415 610064 NaN NaN 花蛤蒸蛋 0 1 37 NaN 24 2937 413 610023 NaN NaN 啤酒鴨 0 1 48 NaN 25 2939 413 609931 NaN NaN 燜豬手 0 1 58 NaN 26 2643 392 609930 NaN NaN 豌豆薯仔豬骨湯 0 1 39 NaN 27 2942 415 609959 NaN NaN 小炒羊腰\r\n\r\n\r\n 0 1 36 NaN 28 2652 392 609936 NaN NaN 皮蛋瘦肉粥 0 1 16 NaN 29 2650 392 609935 NaN NaN 山藥養生粥 0 1 19 NaN ... ... ... ... .. ... ... .. .. ... ... 2747 6335 732 609944 NaN NaN 水煮魚 0 1 65 NaN 2748 6336 732 609952 NaN NaN 美妙絕倫之白蓮花 0 1 29 NaN 2749 5074 616 609970 NaN NaN 麻辣小龍蝦 0 1 99 NaN 2750 5075 616 610001 NaN NaN 土豆西紅柿湯面 0 1 13 NaN 2751 6088 716 609970 NaN NaN 麻辣小龍蝦 0 1 99 NaN 2752 6091 716 609942 NaN NaN 辣炒魷魚 0 1 58 NaN 2753 6094 716 609946 NaN NaN 谷稻小莊 0 1 38 NaN 2754 6098 716 609953 NaN NaN 涼拌菠菜 0 1 27 NaN 2755 6106 716 609957 NaN NaN 蒙古烤羊腿\r\n\r\n\r\n 0 1 48 NaN 2756 6103 716 609944 NaN NaN 水煮魚 0 1 65 NaN 2757 5076 616 610000 NaN NaN 酸辣湯面 0 1 16 NaN 2758 5080 616 610033 NaN NaN 張裕葡萄酒張裕赤霞珠干紅\r\n\r\n\r\n 0 1 32 NaN 2759 6111 716 609960 NaN NaN 白胡椒胡蘿卜羊肉湯 0 1 35 NaN 2760 6115 716 609955 NaN NaN 紅酒燉羊肉 0 1 108 NaN 2761 6120 716 609983 NaN NaN 干鍋田雞 0 1 88 NaN 2762 6116 716 609974 NaN NaN 南瓜枸杞小餅干 0 1 19 NaN 2763 6125 716 609991 NaN NaN 香烤牛排\r\n\r\n\r\n 0 1 55 NaN 2764 6127 716 610011 NaN NaN 白飯/大碗 0 1 10 NaN 2765 6131 716 610038 NaN NaN 芝麻烤紫菜 0 1 25 NaN 2766 6128 716 610022 NaN NaN 杭椒雞珍 0 1 58 NaN 2767 6135 716 610020 NaN NaN 泡椒鳳爪\r\n\r\n\r\n 0 1 58 NaN 2768 6137 716 610031 NaN NaN 糖醋蕃茄溜青花 0 1 33 NaN 2769 6734 774 609941 NaN NaN 清蒸海魚 0 1 78 NaN 2770 6736 774 609944 NaN NaN 水煮魚 0 1 65 NaN 2771 6739 774 609994 NaN NaN 獨家薄荷鮮蝦牛肉卷\r\n\r\n\r\n 0 1 45 NaN 2772 6750 774 610011 NaN NaN 白飯/大碗 0 1 10 NaN 2773 6742 774 609996 NaN NaN 牛尾湯 0 1 40 NaN 2774 6756 774 609949 NaN NaN 意文檸檬汁 0 1 13 NaN 2775 6763 774 610014 NaN NaN 金玉良緣 0 1 30 NaN 2776 6764 774 610017 NaN NaN 酸辣藕丁 0 1 33 NaN 2016-08-01 11:07:07 NA.3 NA.4 NA.5 0.1 NA.6 NA.7 caipu/202003.jpg \ 0 2016-08-01 11:07:40 NaN NaN NaN 0 NaN NaN caipu/303001.jpg 1 2016-08-01 11:11:11 NaN NaN NaN 0 NaN NaN caipu/105002.jpg 2 2016-08-01 11:11:30 NaN NaN NaN 0 NaN NaN caipu/503002.jpg 3 2016-08-01 11:15:57 NaN NaN NaN 0 NaN NaN caipu/204002.jpg 4 2016-08-01 11:19:12 NaN NaN NaN 0 NaN NaN caipu/201001.jpg 5 2016-08-01 11:22:21 NaN NaN NaN 0 NaN NaN caipu/205003.jpg 6 2016-08-01 11:22:53 NaN NaN NaN 0 NaN NaN caipu/205001.jpg 7 2016-08-01 11:23:56 NaN NaN NaN 0 NaN NaN caipu/304004.jpg 8 2016-08-01 11:31:15 NaN NaN NaN 0 NaN NaN caipu/601005.jpg 9 2016-08-01 12:42:52 NaN NaN NaN 0 NaN NaN caipu/101001.jpg 10 2016-08-01 12:43:21 NaN NaN NaN 0 NaN NaN caipu/102005.jpg 11 2016-08-01 12:43:34 NaN NaN NaN 0 NaN NaN caipu/602002.jpg 12 2016-08-01 12:44:08 NaN NaN NaN 0 NaN NaN caipu/106003.jpg 13 2016-08-01 12:44:12 NaN NaN NaN 0 NaN NaN caipu/205003.jpg 14 2016-08-01 12:45:09 NaN NaN NaN 0 NaN NaN caipu/301004.jpg 15 2016-08-01 12:45:24 NaN NaN NaN 0 NaN NaN caipu/205004.jpg 16 2016-08-01 12:46:26 NaN NaN NaN 0 NaN NaN caipu/302002.jpg 17 2016-08-01 12:48:48 NaN NaN NaN 0 NaN NaN caipu/401001.jpg 18 2016-08-01 12:49:27 NaN NaN NaN 0 NaN NaN caipu/502003.jpg 19 2016-08-01 12:50:03 NaN NaN NaN 0 NaN NaN caipu/601001.jpg 20 2016-08-01 12:51:38 NaN NaN NaN 0 NaN NaN caipu/102004.jpg 21 2016-08-01 12:51:46 NaN NaN NaN 0 NaN NaN caipu/201002.jpg 22 2016-08-01 12:52:18 NaN NaN NaN 0 NaN NaN caipu/302001.jpg 23 2016-08-01 12:52:37 NaN NaN NaN 0 NaN NaN caipu/104003.jpg 24 2016-08-01 12:53:39 NaN NaN NaN 0 NaN NaN caipu/204006.jpg 25 2016-08-01 12:54:30 NaN NaN NaN 0 NaN NaN caipu/203002.jpg 26 2016-08-01 12:58:44 NaN NaN NaN 0 NaN NaN caipu/203001.jpg 27 2016-08-01 12:59:03 NaN NaN NaN 0 NaN NaN caipu/202005.jpg 28 2016-08-01 12:59:16 NaN NaN NaN 0 NaN NaN caipu/602002.jpg 29 2016-08-01 12:59:26 NaN NaN NaN 0 NaN NaN caipu/602001.jpg ... ... ... ... ... ... ... ... ... 2747 2016-08-10 20:19:03 NaN NaN NaN 0 NaN NaN caipu/103005.jpg 2748 2016-08-10 20:19:22 NaN NaN NaN 0 NaN NaN caipu/303003.jpg 2749 2016-08-10 20:37:48 NaN NaN NaN 0 NaN NaN caipu/101006.jpg 2750 2016-08-10 20:39:37 NaN NaN NaN 0 NaN NaN caipu/603005.jpg 2751 2016-08-10 20:41:10 NaN NaN NaN 0 NaN NaN caipu/101006.jpg 2752 2016-08-10 20:41:29 NaN NaN NaN 0 NaN NaN caipu/103003.jpg 2753 2016-08-10 20:46:41 NaN NaN NaN 0 NaN NaN caipu/404002.jpg 2754 2016-08-10 20:47:14 NaN NaN NaN 0 NaN NaN caipu/303004.jpg 2755 2016-08-10 20:47:17 NaN NaN NaN 0 NaN NaN caipu/202003.jpg 2756 2016-08-10 20:47:36 NaN NaN NaN 0 NaN NaN caipu/103005.jpg 2757 2016-08-10 20:48:31 NaN NaN NaN 0 NaN NaN caipu/603004.jpg 2758 2016-08-10 20:49:20 NaN NaN NaN 0 NaN NaN caipu/402002.jpg 2759 2016-08-10 20:50:11 NaN NaN NaN 0 NaN NaN caipu/202006.jpg 2760 2016-08-10 20:50:12 NaN NaN NaN 0 NaN NaN caipu/202001.jpg 2761 2016-08-10 20:51:37 NaN NaN NaN 0 NaN NaN caipu/205003.jpg 2762 2016-08-10 20:51:42 NaN NaN NaN 0 NaN NaN caipu/502004.jpg 2763 2016-08-10 20:52:09 NaN NaN NaN 0 NaN NaN caipu/201001.jpg 2764 2016-08-10 20:52:12 NaN NaN NaN 0 NaN NaN caipu/601005.jpg 2765 2016-08-10 20:53:09 NaN NaN NaN 0 NaN NaN caipu/105002.jpg 2766 2016-08-10 20:53:26 NaN NaN NaN 0 NaN NaN caipu/204005.jpg 2767 2016-08-10 20:56:10 NaN NaN NaN 0 NaN NaN caipu/204003.jpg 2768 2016-08-10 20:57:11 NaN NaN NaN 0 NaN NaN caipu/304005.jpg 2769 2016-08-10 21:50:35 NaN NaN NaN 0 NaN NaN caipu/103002.jpg 2770 2016-08-10 21:53:17 NaN NaN NaN 0 NaN NaN caipu/103005.jpg 2771 2016-08-10 21:55:58 NaN NaN NaN 0 NaN NaN caipu/201004.jpg 2772 2016-08-10 21:56:24 NaN NaN NaN 0 NaN NaN caipu/601005.jpg 2773 2016-08-10 21:56:48 NaN NaN NaN 0 NaN NaN caipu/201006.jpg 2774 2016-08-10 22:01:52 NaN NaN NaN 0 NaN NaN caipu/404005.jpg 2775 2016-08-10 22:03:58 NaN NaN NaN 0 NaN NaN caipu/302003.jpg 2776 2016-08-10 22:04:30 NaN NaN NaN 0 NaN NaN caipu/302006.jpg 1442 0 1442 1 1442 2 1442 3 1095 4 1095 5 1095 6 1095 7 1095 8 1095 9 1147 10 1147 11 1147 12 1147 13 1147 14 1147 15 1147 16 1147 17 1147 18 1147 19 1147 20 1166 21 1147 22 1147 23 1166 24 1147 25 1147 26 1094 27 1166 28 1094 29 1094 ... ... 2747 1153 2748 1153 2749 1133 2750 1133 2751 1112 2752 1112 2753 1112 2754 1112 2755 1112 2756 1112 2757 1133 2758 1133 2759 1112 2760 1112 2761 1112 2762 1112 2763 1112 2764 1112 2765 1112 2766 1112 2767 1112 2768 1112 2769 1138 2770 1138 2771 1138 2772 1138 2773 1138 2774 1138 2775 1138 2776 1138 [2777 rows x 19 columns]3.當文件中沒有給出表頭的時候,需要將header設置為None, 并且傳入與列數量一致的list,
name=[ ]
4.skiprows:
data = pd.read_excel(r'C:\Users\ibm\Desktop\meal_order_detail.xlsx', skiprows=[1, 10], header=0) # print(data.head(6)) # 從頭開始讀,讀前幾行信息 print(data.tail(5)) # 從尾部讀,讀后幾行信息 detail_id order_id dishes_id logicprn_name parent_class_name \ 2772 6750 774 610011 NaN NaN 2773 6742 774 609996 NaN NaN 2774 6756 774 609949 NaN NaN 2775 6763 774 610014 NaN NaN 2776 6764 774 610017 NaN NaN dishes_name itemis_add counts amounts cost place_order_time \ 2772 白飯/大碗 0 1 10 NaN 2016-08-10 21:56:24 2773 牛尾湯 0 1 40 NaN 2016-08-10 21:56:48 2774 意文檸檬汁 0 1 13 NaN 2016-08-10 22:01:52 2775 金玉良緣 0 1 30 NaN 2016-08-10 22:03:58 2776 酸辣藕丁 0 1 33 NaN 2016-08-10 22:04:30 discount_amt discount_reason kick_back add_inprice add_info \ 2772 NaN NaN NaN 0 NaN 2773 NaN NaN NaN 0 NaN 2774 NaN NaN NaN 0 NaN 2775 NaN NaN NaN 0 NaN 2776 NaN NaN NaN 0 NaN bar_code picture_file emp_id 2772 NaN caipu/601005.jpg 1138 2773 NaN caipu/201006.jpg 1138 2774 NaN caipu/404005.jpg 1138 2775 NaN caipu/302003.jpg 1138 2776 NaN caipu/302006.jpg 1138讀取csv文件
1.csv屬于文本文件, 逗號分隔符文件,編碼一般為gbk;
2.read_csv方法中參數說明:
1.sep: 元素分隔符,csv文件中默認分隔符為逗號;
2.engine:底層編譯方式,默認為c語言,如果遇到編碼問題,可以嘗試將engine改為Python;
擴展:讀取文本文件的方法:.txt, .csv
pd.read_table(r'C:\Users\ibm\Desktop\meal_order_info.csv', sep=',', encoding='gbk',engine='python')| 417 | 1442 | 4 | NaN | 1501 | 1022 | 165 | 5 | 165 | 2016/8/1 11:05 | ... | 2016/8/1 11:11 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880641 | 苗宇怡 |
| 301 | 1095 | 3 | NaN | 1430 | 1031 | 321 | 6 | 321 | 2016/8/1 11:15 | ... | 2016/8/1 11:31 | NaN | NaN | NaN | 328 | NaN | NaN | 1 | 18688880174 | 趙穎 |
| 413 | 1147 | 6 | NaN | 1488 | 1009 | 854 | 15 | 854 | 2016/8/1 12:42 | ... | 2016/8/1 12:54 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880276 | 徐毅凡 |
| 415 | 1166 | 4 | NaN | 1502 | 1023 | 466 | 10 | 466 | 2016/8/1 12:51 | ... | 2016/8/1 13:08 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880231 | 張大鵬 |
| 392 | 1094 | 10 | NaN | 1499 | 1020 | 704 | 24 | 704 | 2016/8/1 12:58 | ... | 2016/8/1 13:07 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880173 | 孫熙凱 |
| 381 | 1243 | 4 | NaN | 1487 | 1008 | 239 | 7 | 239 | 2016/8/1 13:15 | ... | 2016/8/1 13:23 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880441 | 沈曉雯 |
| 429 | 1452 | 4 | NaN | 1501 | 1022 | 699 | 15 | 699 | 2016/8/1 13:17 | ... | 2016/8/1 13:34 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880651 | 苗澤坤 |
| 433 | 1109 | 8 | NaN | 1490 | 1011 | 511 | 14 | 511 | 2016/8/1 13:38 | ... | 2016/8/1 13:50 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880212 | 李達明 |
| 569 | 1143 | 6 | NaN | 1488 | 1009 | 326 | 9 | 326 | 2016/8/1 17:06 | ... | 2016/8/1 17:18 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880272 | 陳有浩 |
| 655 | 1268 | 8 | NaN | 1492 | 1013 | 263 | 10 | 263 | 2016/8/1 17:32 | ... | 2016/8/1 17:44 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880466 | 沈丹丹 |
| 577 | 1150 | 7 | NaN | 1492 | 1013 | 380 | 7 | 380 | 2016/8/1 17:37 | ... | 2016/8/1 17:50 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880279 | 胡煜 |
| 622 | 1220 | 4 | NaN | 1483 | 1004 | 164 | 7 | 164 | 2016/8/1 17:40 | ... | 2016/8/1 17:47 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880419 | 徐駿太 |
| 651 | 1593 | 3 | NaN | 1485 | 1006 | 137 | 5 | 137 | 2016/8/1 18:12 | ... | 2016/8/1 18:20 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880792 | 高僖桐 |
| 694 | 1122 | 8 | NaN | 1492 | 1013 | 819 | 10 | 819 | 2016/8/1 18:26 | ... | 2016/8/1 18:37 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880316 | 朱鈺 |
| 462 | 1187 | 7 | NaN | 1490 | 1011 | 431 | 13 | 431 | 2016/8/1 18:45 | ... | 2016/8/1 18:49 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880366 | 孫新瀟 |
| 458 | 1455 | 2 | NaN | 1480 | 1001 | 700 | 14 | 700 | 2016/8/1 19:27 | ... | 2016/8/1 19:31 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880654 | 牛長金 |
| 467 | 1213 | 10 | NaN | 1495 | 1016 | 615 | 15 | 615 | 2016/8/1 19:40 | ... | NaN | NaN | NaN | NaN | 330 | NaN | NaN | 0 | 18688880412 | 趙英 |
| 562 | 1552 | 8 | NaN | 1508 | 1029 | 366 | 7 | 366 | 2016/8/1 19:44 | ... | 2016/8/1 19:57 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880751 | 王嘉淏 |
| 486 | 1156 | 7 | NaN | 1492 | 1013 | 443 | 12 | 443 | 2016/8/1 20:31 | ... | 2016/8/1 20:36 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880285 | 張芳語 |
| 517 | 1008 | 2 | NaN | 1480 | 1001 | 294 | 7 | 294 | 2016/8/1 21:11 | ... | 2016/8/1 21:21 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880027 | 許和怡 |
| 452 | 1114 | 8 | NaN | 1492 | 1013 | 167 | 7 | 167 | 2016/8/1 21:19 | ... | 2016/8/1 21:29 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880193 | 邵昱笑 |
| 448 | 1449 | 6 | NaN | 1505 | 1026 | 609 | 14 | 609 | 2016/8/1 21:37 | ... | 2016/8/1 21:52 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880648 | 苗秋蘭 |
| 193 | 1084 | 3 | NaN | 1401 | 1005 | 238 | 8 | 238 | 2016/8/2 11:20 | ... | 2016/8/2 11:33 | NaN | NaN | NaN | 328 | NaN | NaN | 1 | 18688880163 | 張靖雯 |
| 166 | 986 | 2 | NaN | 1402 | 1003 | 260 | 7 | 260 | 2016/8/2 11:22 | ... | 2016/8/2 11:30 | NaN | NaN | NaN | 328 | NaN | NaN | 1 | 18688880005 | 莫子建 |
| 342 | 1450 | 2 | NaN | 1402 | 1003 | 109 | 5 | 109 | 2016/8/2 11:58 | ... | 2016/8/2 12:10 | NaN | NaN | NaN | 328 | NaN | NaN | 1 | 18688880649 | 苗家暢 |
| 260 | 990 | 4 | NaN | 1421 | 1022 | 302 | 9 | 302 | 2016/8/2 12:35 | ... | 2016/8/2 12:53 | NaN | NaN | NaN | 328 | NaN | NaN | 1 | 18688880009 | 張馥雨 |
| 367 | 1119 | 4 | NaN | 1483 | 1004 | 639 | 13 | 639 | 2016/8/2 12:58 | ... | 2016/8/2 13:17 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880198 | 康雅欣 |
| 368 | 1125 | 4 | NaN | 1500 | 1021 | 211 | 6 | 211 | 2016/8/2 13:08 | ... | 2016/8/2 13:22 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880317 | 周子軒 |
| 365 | 992 | 2 | NaN | 460 | 1002 | 146 | 6 | 146 | 2016/8/2 13:19 | ... | 2016/8/2 13:29 | NaN | NaN | NaN | 304 | NaN | NaN | 1 | 18688880011 | 姜晗昱 |
| 171 | 1463 | 3 | NaN | 1403 | 1004 | 299 | 10 | 299 | 2016/8/2 13:51 | ... | 2016/8/2 14:00 | NaN | NaN | NaN | 328 | NaN | NaN | 1 | 18688880662 | 范小萱 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 387 | 1095 | 8 | NaN | 1490 | 1011 | 551 | 16 | 551 | 2016/8/30 12:00 | ... | 2016/8/30 12:12 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880307 | 任紅嬌 |
| 168 | 990 | 2 | NaN | 1402 | 1003 | 1105 | 9 | 1105 | 2016/8/30 12:07 | ... | 2016/8/30 12:19 | NaN | NaN | NaN | 328 | NaN | NaN | 1 | 18688880009 | 張馥雨 |
| 446 | 1166 | 2 | NaN | 1482 | 1003 | 143 | 6 | 143 | 2016/8/30 18:06 | ... | 2016/8/30 18:15 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880231 | 張大鵬 |
| 735 | 1132 | 2 | NaN | 1481 | 1002 | 270 | 8 | 270 | 2016/8/30 18:13 | ... | 2016/8/30 18:18 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880120 | 陸濤 |
| 671 | 1084 | 2 | NaN | 1482 | 1003 | 163 | 8 | 163 | 2016/8/30 19:25 | ... | 2016/8/30 19:44 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880104 | 任文琪 |
| 603 | 1102 | 3 | NaN | 1485 | 1006 | 459 | 11 | 459 | 2016/8/30 19:30 | ... | 2016/8/30 19:45 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880110 | 陶璐 |
| 661 | 1096 | 8 | NaN | 1492 | 1013 | 812 | 13 | 812 | 2016/8/30 20:00 | ... | 2016/8/30 20:18 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880108 | 卓艷妍 |
| 565 | 1105 | 6 | NaN | 1489 | 1010 | 717 | 8 | 717 | 2016/8/30 20:14 | ... | 2016/8/30 20:30 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880111 | 黃哲 |
| 539 | 1110 | 10 | NaN | 1519 | 1040 | 238 | 6 | 238 | 2016/8/30 20:30 | ... | 2016/8/30 20:43 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880312 | 李佩珊 |
| 636 | 1089 | 2 | NaN | 1480 | 1001 | 349 | 9 | 349 | 2016/8/30 20:52 | ... | 2016/8/30 21:10 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880305 | 王靜宇 |
| 461 | 1075 | 3 | NaN | 1484 | 1005 | 303 | 8 | 303 | 2016/8/30 21:46 | ... | 2016/8/30 21:56 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880101 | 趙玉倩 |
| 777 | 1076 | 7 | NaN | 1491 | 1012 | 824 | 24 | 824 | 2016/8/30 21:49 | ... | 2016/8/30 21:59 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880201 | 趙倩 |
| 515 | 1161 | 2 | NaN | 1482 | 1003 | 143 | 5 | 143 | 2016/8/30 21:57 | ... | 2016/8/30 22:00 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880329 | 盧玲 |
| 289 | 991 | 2 | NaN | 1402 | 1003 | 121 | 5 | 121 | 2016/8/31 11:52 | ... | 2016/8/31 12:01 | NaN | NaN | NaN | 328 | NaN | NaN | 1 | 18688880010 | 麥凱澤 |
| 419 | 1071 | 6 | NaN | 1489 | 1010 | 264 | 6 | 264 | 2016/8/31 12:19 | ... | 2016/8/31 12:29 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880096 | 姜妮妮 |
| 395 | 1021 | 4 | NaN | 1485 | 1006 | 617 | 13 | 617 | 2016/8/31 12:51 | ... | 2016/8/31 13:02 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880040 | 葉瀟逸 |
| 411 | 1097 | 4 | NaN | 1485 | 1006 | 214 | 2 | 214 | 2016/8/31 13:29 | ... | NaN | NaN | NaN | NaN | 330 | NaN | NaN | 0 | 18688880208 | 原程心 |
| 336 | 996 | 2 | NaN | 1406 | 1007 | 131 | 5 | 131 | 2016/8/31 13:59 | ... | 2016/8/31 14:06 | NaN | NaN | NaN | 328 | NaN | NaN | 1 | 18688880015 | 張昭陽 |
| 507 | 1128 | 8 | NaN | 1506 | 1027 | 474 | 10 | 474 | 2016/8/31 17:50 | ... | 2016/8/31 18:00 | NaN | NaN | NaN | 330 | NaN | NaN | 2 | 18688880318 | 余思言 |
| 763 | 1135 | 4 | NaN | 1484 | 1005 | 296 | 7 | 296 | 2016/8/31 18:05 | ... | 2016/8/31 18:09 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880121 | 方祥文 |
| 599 | 1102 | 8 | NaN | 1491 | 1012 | 729 | 19 | 729 | 2016/8/31 18:05 | ... | 2016/8/31 18:18 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880110 | 關凱月 |
| 721 | 1129 | 6 | NaN | 1486 | 1007 | 624 | 15 | 624 | 2016/8/31 18:28 | ... | 2016/8/31 18:42 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880119 | 夏雪 |
| 533 | 1118 | 1 | NaN | 1482 | 1003 | 717 | 11 | 717 | 2016/8/31 18:40 | ... | 2016/8/31 18:57 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880215 | 黃青蕓 |
| 551 | 1086 | 8 | NaN | 1519 | 1040 | 1101 | 19 | 1101 | 2016/8/31 19:14 | ... | 2016/8/31 19:19 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880304 | 張小雨 |
| 695 | 1096 | 6 | NaN | 1486 | 1007 | 810 | 16 | 810 | 2016/8/31 20:25 | ... | 2016/8/31 20:39 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880108 | 陳宇 |
| 641 | 1095 | 8 | NaN | 1492 | 1013 | 679 | 12 | 679 | 2016/8/31 21:23 | ... | 2016/8/31 21:31 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880307 | 李靖 |
| 672 | 1089 | 6 | NaN | 1489 | 1010 | 800 | 24 | 800 | 2016/8/31 21:24 | ... | 2016/8/31 21:56 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880305 | 莫言 |
| 692 | 1155 | 8 | NaN | 1492 | 1013 | 735 | 10 | 735 | 2016/8/31 21:25 | ... | 2016/8/31 21:33 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880327 | 習一冰 |
| 647 | 1094 | 4 | NaN | 1485 | 1006 | 262 | 9 | 262 | 2016/8/31 21:37 | ... | 2016/8/31 21:55 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880207 | 章春華 |
| 570 | 1113 | 8 | NaN | 1517 | 1038 | 589 | 13 | 589 | 2016/8/31 21:41 | ... | 2016/8/31 21:32 | NaN | NaN | NaN | 330 | NaN | NaN | 1 | 18688880313 | 唐雅嘉 |
945 rows × 21 columns
保存文件
order.to_excel('11.xlsx') order.to_csv('11.csv')作業:
(1) 刪除全為空值的列
detail_count = detail.count() mask = detail_count==0 drop_nan_index = detail_count[mask].index print(drop_nan_index) Index(['logicprn_name', 'parent_class_name', 'cost', 'discount_amt','discount_reason', 'kick_back', 'add_info', 'bar_code'],dtype='object') detail.drop(labels=list(drop_nan_index), axis=1, inplace=True) print(detail.shape) (2779, 11)(2)全部為一樣的值:
mask2 = detail.astype('str').describe().loc['unique',:] ==1 # mask2 = detail.astype('str').describe().loc['unique',:] ==1 column_ser = pd.Series(list(mask2.index)) print(column_ser) 0 detail_id 1 order_id 2 dishes_id 3 dishes_name 4 itemis_add 5 counts 6 amounts 7 place_order_time 8 add_inprice 9 picture_file 10 emp_id dtype: object drop_index_unique = column_ser.loc[mask2.values].values detail.drop(labels=drop_index_unique, axis=1, inplace=True) print(detail.shape) (2779, 9)2.該飯店中8月1日一共銷售了多少個訂單?
df = detail.loc[detail['place_order_time'].dt.day==1, :] # df['order_id'].value_counts().size # 去重 df['order_id'].unique().size 224.該飯店中一共出售多少種菜品,哪種菜品最受歡迎?【請認真思考返回值是否符合邏輯】
detail['dishes_id'].value_counts() detail.loc[detail['dishes_id']== 609953, 'dishes_name'].head() 51 涼拌菠菜 99 涼拌菠菜 110 涼拌菠菜 137 涼拌菠菜 202 涼拌菠菜 Name: dishes_name, dtype: object總結
以上是生活随笔為你收集整理的初识pandas及基本的增删改查的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kali查看进程PS
- 下一篇: 我用维权失败经历告诉你,在淘宝上买到假货