本系列课程适用人群:

  1. python零基础数据分析的朋友;
  2. 在校学生;
  3. 职场中经常要处理各种数据表格,或大量数据(十万级以上)的朋友;
  4. 喜欢图表可视化的朋友;

系列视频目前可在B站观看,会定期更新,欢迎大家吐槽!

本节要点:3个基本数据清洗操作

视频地址:python中删除行列、更改列名、填充缺失值

本节代码:

import pandas as pd
data1 = pd.read_csv('D:/python/课件/data/dzdp_data.csv')

# =============================================================================
# 删除行列
# =============================================================================
# 删除列
data2 = data1.drop('cus_comment',axis=1) # inplace   ['','']

# 删除行
data1.drop(4,axis=0,inplace=True)  # axis=0 按行处理

# =============================================================================
# # 更改列名
# =============================================================================
# 1 全部更改:长度需要与表格的列名个数一致
data1.columns = ['客户id', '评价时间', '星级', '内容', '口味',
       '环境', '服务', '商店id', '评分', '年', '月', '周',
       '小时', '内容长度']

# 2 个别替换,columns= 不能少,还有另一个参数修改索引 index={}
data1.rename(columns={'客户id':'客户ID','商店id':'商店ID'},inplace=True)

# =============================================================================
# # 更改列的格式
# =============================================================================
data1.info()
# 改成字符串
data1['商店ID'] = data1['商店ID'].astype('str')   # 改为整数用int
# 改为日期格式
data1['评价时间'] = pd.to_datetime(data1['评价时间'])  

# 保留2位小数
data1['内容长度/100'] = data1['内容长度'] / 100
data1['内容长度/100'] = data1['内容长度/100'].round(2)

# map是python一个高级函数,对所有元素进行指定的函数变化;
# lambda匿名函数,简化了的函数写法
data1['内容长度/100'] = data1['内容长度/100'].map(lambda x:"%.2f" %x)  

# =============================================================================
# # 填充缺失值
# =============================================================================
# 读取数据
data2 = pd.read_excel('D:/python/课件/data/泰坦尼克数据.xlsx')
# 缺失值情况
data2.isna().sum()

# 按均值填充
data2['年龄'].fillna(data2['年龄'].mean(),inplace=True)

# 填充为其他值
data2['仓位'].fillna('无',inplace=True)

# =============================================================================
# # 删除缺失值
# =============================================================================

data2.dropna(subset=["登船港口"],inplace=True)  # 此处必须用中括号