知识清单:
- 数据结构:
- Series和DataFrame这两个核心的数据结构,分别代表一维和二维的表结构。基于这两种数据结构可以对数据进行导入,清洗。处理,统计和输出。
- Series:Series是个定长的字典序列。两个基本属性:index和values。默认是0,1,2....当然也可以自己指定索引。
- DataFrame:包括行索引和列索引,可以将DataFrame看成是由相同索引的Series组成的字典类型。具体见代码实现。
- 数据导入和导出:可直接从xlsx和csv导入文件或导出成xlsx和csv等;库xlrd;openpyxl
- 数据清洗:
- 删除DataFrame不必要的行或列drop()函数
- 重命名列名columns
- 去掉重复的值drop_duplicates()
- 格式问题astype()
- 数据间空格:strip()去掉空格
- 大小写转换:upper(),lower(),title()
- 查找空值:isnull();isnull().any()
- 使用apply对数据进行清洗:df['name'].apply(str.upper);
- 数据统计:
- Pandas和Numpy一样遇到空值NaN就会自动排除。
- 数据表的合并:
- 一个DataFrame是一个数据表多个DataFrame数据表的合并就相当于多个数据库的表的合并。
- 指定列的连接:eg:基于名字的连接;df3 = pd.merge(df1,df2,on='name')
- Inner连接:默认是merge基于名字
- left左连接:以第一个为主第二个为补充。df3=pd.merge(df1,df2,how='left')
- right右连接:以第二个为主第一个为补充。df3=pd.merge(df1,df2,how='right')
- outer连接:求两个DataFrame的并集
- 也可以用SQL语句方式打开Pandas