数据分析与挖掘实战1

import pandas as pd
import matplotlib.pyplot as plt
import math
import numpy as np

#sales[sales.isna().values==True]

def pin_lv(arr):
    return arr.count()/sales.describe().loc['count']


sale_path = 'E:\phil\workspace\selfwork\python\python practice of data analysis and mining\chapter3\catering_sale.xls'
sales = pd.read_excel(sale_path, index_col='date')
sales = sales.dropna()
sales_describe = sales.describe()
# 极差
sales_describe.loc['ji_cha'] = sales_describe.loc['max'] - sales_describe.loc['min']
fen_zu_shu = math.ceil(sales_describe.loc['ji_cha'] / 1000)
# 分组间隔
list_fen_zu = []
for index in range(fen_zu_shu + 1):
    list_fen_zu.append(index * 1000)

fen_zu_qu_jian = pd.cut(sales['sale'], list_fen_zu)
group = sales.groupby(by=fen_zu_qu_jian)

group = group.agg(['count', 'sum', pin_lv])
# 删除列的第一个分组sales
group.columns = group.columns.droplevel()
group['lei_ji'] = group['pin_lv'].cumsum(skipna=True)
# 填充nan的值,向前填充
group['lei_ji'] = group['lei_ji'].fillna(method='ffill')

group.plot.bar(logy=True, figsize=[12, 6], rot=15)
plt.show()

  

转载于:https://www.cnblogs.com/xuyuchen/p/9130338.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值