欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python数据清洗学习记录--常用工具

程序员文章站 2024-01-19 15:32:04
...

Python数据清洗学习记录–常用工具


概述:

  1. 目前在Python中, numpy和pandas是最主流的工具

  2. Numpy中的向量化运算使得数据处理变得高效

  3. Pandas提供了大量数据清洗的高效方法

  4. 在Python中,尽可能多的使用numpy和pandas中的函数,提高数据清洗的效率

NumPy:

NumPy常用的数据结构

  1. Numpy中常用的数据结构是ndarray格式

  2. 使用array函数创建,语法格式为array(列表或元组)

  3. 可以使用其他函数例如arange、linspace、zeros等创建

#导入库

import numpy as np

arr1 = np.array([-9,7,4,3])

np.arange(0,10,1)

np.linspace(1,10,10)

np.zeros (1,5)

方法名称 说明
ndim 返回int,表示ndarray的维度
shape 返回尺寸,几行几列
size 返回数组元素的个数
dtype 返回数组中元素的类型
运算 直接可以在每个元素加减乘除

Numpy常用数据清洗函数

  1. 排序函数

  2. 数据的搜索

  • sort函数: 从小到大进行排序

  • argsort函数: 返回的是数据中, 从小到大的索引值

     s  =np.array([1,2,3,4,3,1,2,2,4,6,7,2,4,8,4,5]) 
     
     np.sort(s) 
     
     sorted(s,reverse =True) #降序
     
     np.sort(arr1,axis = 0)   # 0代表沿着行的方向, 1代表沿着列的方向
     
     np.sort(arr1,axis = 1)
    
     np.argsort(s)
    

Python数据清洗学习记录--常用工具

array([ 0, 5, 1, 6, 7, 11, 2, 4, 3, 8, 12, 14, 15, 9, 10, 13],dtype=int64)
  • np.where: 可以自定义返回满足条件的情况

  • np.extract: 返回满足条件的元素值

np.where(s>3,1,-1)
Python数据清洗学习记录--常用工具
array([-1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1])

np.extract(s>3,s)

Python数据清洗学习记录--常用工具

Out[44]:array([4, 4, 6, 7, 4, 8, 4, 5])

Pandas

Pandas常用数据结构series和方法

•通过pandas.Series来创建Series数据结构

•pandas.Series(data,index,dtype,name)

•上述参数中,data可以为列表,array或者dict

•上述参数中, index表示索引,必须与数据同长度,name代表对象的名称

series1 = pd.Series([2.8,3.01,8.99,8.59,5.18]) 

series2 = pd.Series([2.8,3.01,8.99,8.59,5.18],index =['a','b','c','d','e'],name ='这是一个series’) 

series3 = pd.Series(np.array((2.8,3.10,8.99,8.59,5.18)),index= ['a','b','c','d','e’]) 

series4 = pd.Series({'北京':2.8,'上海':3.01,'广东':8.99,'江苏':8.59,'浙江':5.18})

Pandas常用数据结构dataframe和方法

• 通过pandas.DataFrame来创建DataFrame数据结构

• pandas. DataFrame(data,index,dtype,columns)

• 上述参数中,data可以为列表,array或者dict

• 上述参数中, index表示行索引, columns代表列名或者列标签

list1 = [['张三',23,'男'],['李四',27,'女'],['王二',26,'女']]#使用嵌套列表 

df1 = pd.DataFrame(list1,columns=['姓名','年龄','性别']) 

df2 = pd.DataFrame({'姓名':['张三','李四','王二'],'年龄':[23,27,26],'性别':['男','女','女']}) 

array1 = np.array([['张三',23,'男'],['李四',27,'女'],['王二',26,'女']])       # 使用numpy 

df3 = pd.DataFrame(array1,columns=['姓名','年龄','性别'],index = ['a','b','c’] )

series和dataframe常用方法如下:

方法名称 说明
values 返回对象所有元素的值
index 返回行索引
dtypes 返回元素的数据类型
shape 返回对象数据形状
ndim 返回对象的维度
size 返回对象的个数
columns 返回列标签(只针对dataframe数据结构)

注:type(s):获取s的类型
记录自:python数据清洗实战–Peter老师