-- coding: utf-8 --
import xlrd
import openpyxl
import xlwt
import sys
from matplotlib import pyplot as plt
from pandas import Series,DataFrame
import numpy as np
import pandas as pd
**
读出excel 表格:
**
wb = xlrd.open_workbook(“2019年3月份生产日报表.xlsx”)
ws = wb.sheet_by_index(1)
for sheet in wb.sheets():
print(sheet.name)
contb =pd.read_excel(‘2019年3月份生产日报表.xlsx’)
contb.columns
contb.客户
0 NaN
1 东芝
2 东芝
3 东芝
4 东芝
…
2553 延锋
2554 优尼
2555 优尼
2556 优尼
2557 优尼
Name: 客户, Length: 2558, dtype: object
客户 = {‘东芝’:‘东芝’,
‘延锋’:‘延锋’,
‘南方佛吉亚’:‘佛吉亚’
‘华智’‘NOT PROVIDE’ }
筛选数据
contb.groupby([‘客户’])[‘不良品’].sum().sort_values(ascending = False).shape
(22,)
f = lambda x : 客户.get(x,x)
contb[‘良品数’] = contb[‘不良品’].map(f)
f = lambda x : 客户.get(x,x)
contb[‘良品数’] = contb[‘不良品’].map(f)
grouped_occupation = contb.groupby([‘客户’])[‘不良品’].sum()
grouped_occupation = contb.groupby([‘客户’])[‘不良品’].sum()
grouped_occupation.sort_values(ascending=False)[:50]
客户
延锋 3784.0
东阳 2795.0
丰田合成 1907.0
佛吉亚 1889.0
东芝 1545.0
森六 1187.0
泰李 620.0
优尼 500.0
广爱兴 195.0
寿藤 191.0
南条全兴 182.0
银宝 74.0
敏实 61.0
华翼 57.0
泰贺 47.0
恒盛 25.0
怡石 22.0
丰明 20.0
艾司克 18.0
中新彼欧 15.0
达一 0.0
东风安道拓 0.0
Name: 不良品, dtype: float64
语法
contb_ = contb[contb[‘不良品’] > 20]
contb_.head()
运行
日期 机号 班别 订单号 客户 部品名称 订单数量 穴数 标准周期(S) 实际周期/S 计划产量(排产) 理论产量 啤数 总生产数 良品数 不良品 合格率 报废率
20 43525.0 A7 白班 2019.01.09.1775 延锋 A32 小储物盒-M41 13995.0 1.0 40.0 45.0 1000.0 NaN 899.0 899.0 35.0 35.0 0.961068 0.038932
32 43525.0 D2 夜班 2018.12.03.871 延锋 A06 前除霜风道总成 15000.0 1.0 50.0 49.0 800.0 NaN 876.0 876.0 60.0 60.0 0.931507 0.068493
53 43525.0 D8 白班 2019.02.22.2453 佛吉亚 CS85-左侧装饰件 1800.0 1.0 80.0 50.0 500.0 NaN 353.0 353.0 53.0 53.0 0.849858 0.150142
54 43525.0 D8 白班 2019.02.22.2455 佛吉亚 CS85-右侧装饰件 1800.0 1.0 80.0 50.0 500.0 353.0 352.0 352.0 52.0 52.0 0.852273 0.147727
92 43526.0 A8 白班 2019.02.26.2540 东芝 排水盘 G0VUY19191 6300.0 1.0 49.0 50.0 845.0 NaN 398.0 398.0 30.0 30.0 0.924623 0.075377
grouped_客户 = contb.groupby([‘客户’])[‘不良品’].sum()
contb.columns
Index([‘日期’, ‘机号’, ‘班别’, ‘订单号’, ‘客户’, ‘部品名称’, ‘订单数量’, ‘穴数’, ‘标准周期(S)’,
‘实际周期/S’, ‘计划产量(排产)’, ‘理论产量’, ‘啤数’, ‘总生产数’, ‘良品数’, ‘不良品’, ‘合格率’, ‘报废率’],
dtype=‘object’)
语法:
客户 ={‘东芝’:‘东芝’,‘中新延锋’:‘延锋’,‘南方佛吉亚’:‘佛吉亚’,
‘华智’:‘NOT PROVIDE’ }
.语法”
grouped_occupation = contb.groupby([‘客户’])[‘不良品’].sum().sort_values(ascending=False).shape
grouped_客户.sort_values(ascending=False)[:50]
grouped_客户.sort_values(ascending=False)[:50]
运行:
客户
延锋 3739.0
东阳 2795.0
丰田合成 1907.0
南方佛吉亚 1683.0
东芝 1545.0
森六 1187.0
泰李 620.0
优尼 500.0
佛吉亚 206.0
广爱兴 195.0
寿藤 191.0
南条全兴 182.0
银宝 74.0
敏实 61.0
华翼 57.0
泰贺 47.0
中新延锋 45.0
恒盛 25.0
怡石 22.0
丰明 20.0
艾司克 18.0
中新彼欧 15.0
达一 0.0
东风安道拓 0.0
Name: 不良品, dtype: float64
语法:
f = lambda x : 客户.get(x,x)
contb[‘客户’] = contb[‘客户’].map(f)
grouped_客户.sort_values(ascending=False)[:50]
grouped_客户.sort_values(ascending=False)[:50]
运行
客户
延锋 3784.0
东阳 2795.0
丰田合成 1907.0
佛吉亚 1889.0
东芝 1545.0
森六 1187.0
泰李 620.0
优尼 500.0
广爱兴 195.0
寿藤 191.0
南条全兴 182.0
银宝 74.0
敏实 61.0
华翼 57.0
泰贺 47.0
恒盛 25.0
怡石 22.0
丰明 20.0
艾司克 18.0
中新彼欧 15.0
达一 0.0
东风安道拓 0.0
Name: 不良品, dtype: float64