这段时间在学习Excel和Python相关内容,Excel数据分析入门有一本《谁说菜鸟不会数据分析(入门篇)》,内容细致,简洁易懂,注重培养分析的思维而不仅仅是告知方法。在学习Python过程中萌发了通过使用Python的方式实现《谁说菜鸟不会数据分析(入门篇)》中对Excel文件的处理的想法,借此提高对Python数据分析的使用,理解数据处理的方式。因为才刚开始接触学习Python和Excel,可能Python有些问题处理方式过于繁琐,不够简洁,只是进行一下尝试。
1. 重复数据处理
有时候数据中会出现重复行,干扰数据分析,这就需要对重复数据进行处理。
剔除数据中重复数据,在DataFrame中主要运用duplicated方法和drop_duplicates方法:
- duplicated方法返回的是一个布尔型的Series,用来只是各行是否重复,如果重复则为True,否则为False。
- drop_duplicates直接返回已经删除了重复行的DataFrame。
默认drop_duplicates方法会判断所有列,只有所有列的值都重复才算重复行,如果仅需要依据某一列或者某几列进行重复项判断。可以添加列名的列表:drop_duplicates([‘K1’])或者drop_duplicates([‘K1’,’K2’])。删除的重复值可以选择保留第一项还是最后一项,添加 keep = ‘last’,会保留最后一个重复值,keep = ‘first’会保留第一个重复值。
Excel文件读取
pandas的ExcelFile类或pandas.read_excel函数支持读取存储在Excel 2003(或更高版本)中的表格型数据。这两个工具分别使用扩展包xlrd和openpyxl读取XLS和XLSX文件。你可以用pip或conda安装它们。
要使用ExcelFile,通过传递xls或xlsx路径创建一个实例,然后用存储在表单中的数据可以read_excel读取到DataFrame
import pandas as pd
xlsx = pd.ExcelFile('E:/Docs/Python/excel_data/ch04/4.2/重复数据处理.xls')
# 这里路径要用'/',否则使用右斜杠'\'会报OSError Invalid argument错误
frame = pd.read_excel(xlsx,'Sheet1')
如果要读取一个文件中的多个表单,创建ExcelFile会更快,但你也可以将文件名传递到pandas.read_excel:
frame1 = pd.read_excel('E:/Docs/Python/excel_data/ch04/4.2/重复数据处理.xls','Sheet1')
frame1
重复数据处理
使用DataFrame的drop_duplicates()进行重复数据的删除
frame_ = frame.drop_duplicates(keep =