python进行数据预处理-pandas

python

安装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:快速生成数据透视表

以上是 python进行数据预处理-pandas 的全部内容, 来源链接: utcz.com/z/388980.html

回到顶部