博客
关于我
Python数据分析入门(十):数据清洗和准备
阅读量:629 次
发布时间:2019-03-14

本文共 1899 字,大约阅读时间需要 6 分钟。

数据清洗与处理案例指南

数据清洗是数据分析工作中的关键步骤,直接影响后续处理的效果。完成数据清洗后,我们可以更有效地执行数据分析、挖掘等 operations。数据清洗本身也是一个迭代的过程,在实际项目中通常需要多次对数据进行清洗和调整,使其适用于接下来的分析任务。

以下分为几个部分详细讨论如何进行数据清洗和处理:

1. 处理缺失数据

在数据清洗过程中,缺失数据是一个常见问题。我们可以通过以下方法来处理缺失数据:

  • 使用 pd.fillna() 方法填充缺失值。这种方法默认会将缺失值替换为 None,但可以根据需要指定填充值。
  • 使用 pd.dropna() 方法删除包含缺失值的行。
  • 示例:

    import pandas as pddf_example = pd.DataFrame({    'A': ['a', 'b', None],    'B': [2, 4, None]})print(df_example)#            A  B# 0     a  2# 1     b  4# 2   NaN  NaNdf_example.dropna(inplace=True)print(df_example)#            A  B# 0     a  2# 1     b  4

    2. 数据转换操作

    数据转换是通过 pandas 的高级函数来实现的,下面是几个常用的方法:

    2.1 处理重复数据

    使用 duplicated() 方法可以检测重复行:

    import pandas as pddf = pd.DataFrame({    'data1': ['a'] * 4 + ['b'] * 4,    'data2': pdايات agedint(0, 4, 8)})print(df)# data1  data20     a      31     a      22     a      33     a      34     b      15     b      06     b      37     b      0df.duplicated()# 0     False# 1     False# 2     True# 3     True# 4     False# 5     False# 6     False

    // 使用 drop_duplicates() 方法删除重复行:

    df = df.drop_duplicates()# 结果如下:# data1  data20     a      31     a      22     b      15     b      06     b      3

    2.2 数据映射转换

    使用 map() 方法对数据进行映射转换:

    import pandas as pdser_obj = pd.Series(    pd.int64_dtype,    np.random.randint(0, 10, 10))print(ser_obj)# 0     11      42      83      64      85      66      67      48      79      3ser_obj.map(lambda x: x ** 2)# 结果如下:# 0     11     162      643      364      645      366      367      168      499      9

    2.3 数据替换

    使用 replace() 方法替换数据:

    • 单个值替换:
    ser_obj.replace(1, -100)
    • 多个值替换:
    ser_obj.replace([6,8], -100)ser_obj.replace([4,7], [-100, -200])

    3. 字符串操作

    对于字符串数据,pandas 提供了丰富的字符串操作方法。

    3.1 字符串方法

    • str.replace()
    • str.find()
    • str.split()
    • str.upper()str.lower()
    • str.strip()

    3.2 正则表达式操作

    • str.findall()str.find()
    • re.search()

    3.3 pandas 字符函数

    • str accessor e.g., df['column'].str.replace(...)

    通过以上方法,我们可以对字符串数据进行丰富的操作,从而提升数据处理的效率和效果。

    转载地址:http://wysoz.baihongyu.com/

    你可能感兴趣的文章
    mt-datetime-picker type="date" 时间格式 bug
    查看>>
    myeclipse的新建severlet不见解决方法
    查看>>
    MyEclipse设置当前行背景颜色、选中单词前景色、背景色
    查看>>
    Mtab书签导航程序 LinkStore/getIcon SQL注入漏洞复现
    查看>>
    myeclipse配置springmvc教程
    查看>>
    MyEclipse配置SVN
    查看>>
    MTCNN 人脸检测
    查看>>
    MyEcplise中SpringBoot怎样定制启动banner?
    查看>>
    MyPython
    查看>>
    MTD技术介绍
    查看>>
    MySQL
    查看>>
    MySQL
    查看>>
    mysql
    查看>>
    MTK Android 如何获取系统权限
    查看>>
    MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
    查看>>
    MySQL - ERROR 1406
    查看>>
    mysql - 视图
    查看>>
    MySQL - 解读MySQL事务与锁机制
    查看>>
    MTTR、MTBF、MTTF的大白话理解
    查看>>
    mt_rand
    查看>>