本文对【Python数据分析】——药品销售数据分析(完整项目实战)一文的内容进行实现,并根据实际情况进行了相应的修改
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
import matplotlib as mp
import matplotlib.pyplot as plt
from pylab import mpl
# 设置列名对齐
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
file_name = r'C:\Users\chaosye\Desktop\medical.xlsx'
data = pd.ExcelFile(file_name)
data = data.parse('Sheet1',dtype='object')
print(data.head(n = 10))
# 列名重命名
# inplace=True:不创建in的对象,直接对原始对象进行修改:
# inplace=False:对数据进行修改,创建并返回新的对象以承载修改的结果
# 暴力修改
print("表的列",data.columns)
data.columns = ['购药时间x', '社保卡号', '商品编码', '商品名称', '销售数量', '应收金额', '实收金额']
print("表的列",data.columns)
# 可选择性修改
data.rename(columns={
'购药时间x':'销售时间'}, inplace = True)
print("表的列",data.columns)
# 处理缺失数据
print("处理缺失数据前的数据规模:", data.shape)
data.info() # 返回DataFrame的信息,包括索引和列的数据类型, 非空值和内存使用的统计
# 使用dropna函数处理缺失数据
data = data.dropna(subset=['销售时间', '社保卡号'], how='any') # 'any'只要有一个NA值就进行丢弃
data.info()
# 定义将星期去除的函数
def splitSaleTime(timeCloser):
timeList = []
for