Advertisement

使用pandas清洗数据

阅读量:

Preview

导入pandas/numpy库之后,

先设定data(此例中data为titanic)

复制代码
    titanic=pd.read_csv('train.csv')

1.缺失值观察

1.1是否有缺失值 #结果为TRUE代表有缺失值

data.isnull().any()

print(data.isnull().any())

复制代码
    titanic.isnull().any()

1.2统计列缺失值个数

Data.isnull().sum()

Print(Data.isnull().sum())

复制代码
    titanic.isnull().sum()

1.3统计个别列的缺失值数量/以age为例

复制代码
    df.Age #查看Age列数据

#先看有没有缺失值?

复制代码
    titanic.Age.isnull().any() #查看特定列缺失值/true指有缺失值——故Age列有缺失值

#缺失值是多少呢?

复制代码
    titanic.Age.isnull().sum()

2.对缺失值进行处理

2.1 删除

#dropna

复制代码
 df.dropna(how=’all’) #删除全是缺失值的行/列

    
  
    
 df.dropna(how=’any’) #删除含缺失值的行/列

2.2 填充

#fillna

复制代码
 df.fillna(value=0)  #用0填充

    
  
    
 df.fillna(method=’pad’) #向后填充:向下复制一样的值
    
  
    
 df.fillna(method=’backfill’) #向前填充:向上复制一样的值

3.重复值

3.1 查看重复值

复制代码
 df.duplicated() #查看全部

    
  
    
 df.price.duplicated()  #查看price列
    
  
    
 df.duplicated(subset = ['price','cnt'])  #查看多列

3.2 处理重复值

复制代码
    df.drop_duplicates(subset = ['price','cnt'],keep='last',inplace=True)

#subset限制特定列,否则默认全部列

#keep 保留

#inplace=true保留副本 inplace=false直接修改

4. 将前面清洗的数据保存为csv格式

复制代码
    titanic.to_csv('C:\ Users\ 71403\ Desktop\ titanic\ train.csv',index=False,sep=',')

全部评论 (0)

还没有任何评论哟~