python进行数据预处理-pandas

安装pandas,命令行输入 pip install pandas

导出pandas以及它主要的两个数据结构Series和DataFrame

import pandas as pd
from pandas import Series,DataFram

从csv或txt文件中读取数据到DataFrame

import csv
data=pd.read_csv('filename.csv',encoding='gb18030',newline='')默认分隔符为逗号
data=pd.read_table('filename.txt',seq=',')#加载带分隔符的数据使用seq='分隔符'
read_fwf   #读取定宽列格式数据,没有分隔符
read_clipboard #读取剪切板中的数据,可以看做read_table的剪切板。在将网页转换为表格时有用

 

选择:数据访问(标签、特定值、布尔索引等)

>>> data
      key1 key2
c1    9      8
c2    3      4
>>> data['key1']
c1    9     
c2    3 
>>> data.ix['c1']
key1    9
key2    8
>>> data[data['key1']>8]
    key1  key2
c1     9     8
>>> data[:1]
    key1  key2
c1     9     8
>>> data<5
     key1   key2
c1  False  False
c2   True   True
>>> data<5
     key1   key2
c1  False  False
c2   True   True
>>> data[data<5]=0
>>> data
    key1  key2
c1     9     8
c2     0     0
>>> data.ix[0]
key1    9
key2    8
>>> data.ix[:'c2',:]
    key1  key2
c1     9     8
c2     0     0

 

缺失值处理:对缺失数据行进行删除或填充

#Series
data.dropna()
data[data.notnull()]
#DataFrame
data.dropna()   #丢弃任何含有缺失值的行
data.dropna(how='all')  #丢弃全为NA的行
data.dropna(axis=1, how='all')  #丢弃列
data.fillna(0,method='ffill')   #缺失值替换成0,
data.fillna({1: 0.5, 3: -1},inplace=True)   #对不同的列填充不同的值 fillna默认返回新对象,inplace表示就地修改

 

重复值处理:重复值的判断与删除

data.duplicated() #表示各行是否重复行,返回布尔值
data.drop_duplicates() #返回一个移除重复行的DataFrame
data.drop_duplicates(['key1']) #根据key1列过滤重复项,默认保留第一个出现的值组合
data.drop_duplicates(['k1', 'k2'], take_last=True) #保留最后一个值组合

 

异常值处理:清除不必要的空格和极端、异常数据


相关操作:描述性统计、Apply、直方图等
合并:符合各种逻辑关系的合并操作
分组:数据划分、分别执行函数、数据重组
Reshaping:快速生成数据透视表

posted @ 2018-08-20 22:02  绮梦璇玑  阅读(3250)  评论(0编辑  收藏  举报