pandas中read_csv的缺失值处理方式

pandas数据分析库中,read_csv()函数用于读取以逗号分隔的(csv)文件格式。在处理CSV文件时我们经常会遇到缺失值这个问题,下面是pandasread_csv的缺失值处理方式的完整攻略。

1. 缺失值的类型

pandas中的缺失值分为两种类型:

  • NaN:表示缺失数值的特殊浮点数,即“Not a Number”。
  • None:表示缺失值的Python对象。

2. 参数说明

read_csv()函数的主要参数如下:

  • filepath_or_buffer:CSV文件的路径或文件对象。
  • sep:指定列与列之间的分隔符,默认为逗号(,)。
  • header:指定数据文件中的哪一行作为列名,默认为0,即第一行作为列名。
  • index_col:指定数据文件中的哪一列作为索引列。
  • usecols:选择需要读取的列。
  • na_values:指定哪些值应该被识别为缺失值。

3. 缺失值的处理方式

pandas中,可以使用以下方法处理缺失值:

3.1. 默认处理方式

当数据文件中存在缺失值时,read_csv()函数默认将缺失值识别为NaN,对于NaN值,有pandas默认的处理方式:

import pandas as pd

df = pd.read_csv("data.csv")

print(df.isnull().sum())

上述代码中的isnull()函数将返回一个布尔类型的数据框,值为True的表示缺失值,False表示不是缺失值;再调用sum()函数进行求和操作即可在终端中输出数据集中每个列的缺失值总数。

3.2. 自定义处理方式

除了使用默认的方式外,pandas中提供了若干种自定义处理缺失值的方式:

3.2.1. 删除缺失值

当数据文件中有过多的缺失值时,可以使用dropna()函数删除行或列。

import pandas as pd

df = pd.read_csv("data.csv")

# 删除含有缺失值的行,默认删除含有任何缺失值的行
df.dropna()

# 删除含有缺失值的列,默认删除含有任何缺失值的列
df.dropna(axis = 1)

3.2.2. 填充缺失值

当数据分析中存在缺失值时,我们可以使用fillna()函数将缺失值填充为其他的数值。

import pandas as pd

df = pd.read_csv("data.csv")

# 将缺失值填充为0
df.fillna(0)

# 将缺失值填充为均值
df.fillna(df.mean())

# 将缺失值填充为中位数
df.fillna(df.median())

上述代码中的fillna()函数分别将缺失值填充为了0、均值以及中位数。

4. 示例说明

为了更好的理解read_csv的缺失值处理方式,以下提供两个示例说明。

4.1. 示例1

假设我们有以下的数据文件data.csv

year,sex,population
2019,M,2404
2019,F,2414
2018,M,2241
2018,F,2277
2017,M,2106
2016,F,2181
2015,M,2033
2014,F,2120

这个文件中没有缺失值,代码如下:

import pandas as pd

df = pd.read_csv("data.csv")

print(df.isnull().sum())

输出结果为:

year          0
sex           0
population    0
dtype: int64

由于数据文件中不存在缺失值,所以输出结果中三列对应的值都为0。

4.2. 示例2

继续以data.csv文件为例,现在将其中一个数据设为缺失值,修改后文件如下:

year,sex,population
2019,M,2404
2019,F,2414
2018,M,2241
2018,F,2277
2017,M,2106
2016,F,
2015,M,2033
2014,F,2120

现在,对于缺失值,我们采用均值填充的方法进行处理,代码如下:

import pandas as pd

df = pd.read_csv("data.csv")

# 将缺失值填充为均值
df.fillna(df.mean(), inplace=True)

print(df.isnull().sum())

输出结果为:

year          0
sex           0
population    0
dtype: int64

由于缺失值已经被填充了均值,所以输出结果中三列对应的值都为0。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas中read_csv的缺失值处理方式 - Python技术站

(1)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Python中使用动态变量名的方法

    使用Python中的动态变量名可以让我们在程序运行时创建变量名,而不需要事先定义变量。下面是使用动态变量名的方法详细解析: 使用globals()函数创建动态变量 在Python中,可以使用globals()函数创建动态变量。globals()函数会返回一个全局变量的字典(包括了所有全局变量的名称和对应的值)。我们可以通过字典来创建一个新的变量或修改一个已有…

    python 2023年5月18日
    00
  • 用python开发一款操作MySQL的小工具

    我们来详细讲解一下如何用Python开发一款操作MySQL的小工具。 准备工作 在开始之前,我们需要准备以下工具和环境: 安装Python 安装MySQL数据库 安装mysql-connector-python模块,用于连接MySQL数据库 连接MySQL数据库 在Python代码中连接MySQL数据库,需要借助mysql-connector-python模…

    python 2023年5月14日
    00
  • Python强化练习之Tensorflow2 opp算法实现月球登陆器

    Python强化练习之Tensorflow2opp算法实现月球登陆器 本文将介绍如何使用Tensorflow 2.0实现opp算法来控制月球登陆器的着陆。我们将介绍opp算法的原理实现步骤,并提供两个示例,分别演示如何使用Python实现简单和复杂的月球着陆控制。 opp法原理 opp算法是一种基于模型预测控制(MPC)的控制法。该算法通过预测未来状态来计算…

    python 2023年5月14日
    00
  • Python字符串拼接、截取及替换方法总结分析

    下面是详细的攻略: Python字符串拼接、截取及替换方法总结分析 在Python中,字符串是一种常见的数据类型,我们经常需要对字符串进行拼接、截取和替换等操作。本文将总结Python字符串拼接、截取及替换方法,并提供两个示例说明。 字符串拼接 在Python中,我们可以使用加号(+)或join方法来进行字符串拼接。下面是一个示例,演示如何使用加号进行字符串…

    python 2023年5月14日
    00
  • 如何确定 Python 2.7.5 中的实习字符串数量?

    【问题标题】:How to determine the number of interned strings in Python 2.7.5?如何确定 Python 2.7.5 中的实习字符串数量? 【发布时间】:2023-04-03 18:55:01 【问题描述】: 在早期版本的 Python 中(我不记得是哪个版本了),在任意内部字符串上调用 gc.ge…

    Python开发 2023年4月8日
    00
  • 浅谈Python接口对json串的处理方法

    Python是一种流行的编程语言,可以方便地处理JSON数据。在接口开发中,我们经常需要处理JSON数据。本文将详细讲解Python接口对JSON串的处理方法,包括JSON串的解析、生成和格式化,以及使用requests库发送HTTP请求和处理HTTP响应的示例代码。 JSON串的解析 在Python中,我们可以使用json模块解析JSON串。以下是一个示例…

    python 2023年5月15日
    00
  • 对Python3中dict.keys()转换成list类型的方法详解

    以下是“对Python3中dict.keys()转换成list类型的方法详解”的完整攻略。 1. dict.keys()方法的概述 在Python3中,字典(dict)是一种常见数据,它由一系列键值对(key-value)组成。字典中的键(key)是唯一的,而值(value)可以重复。dict.keys方法可以返回字典中所有的键(key),并将其转换成一个列…

    python 2023年5月13日
    00
  • Python中安装库的常用方法介绍

    Python中安装库的常用方法介绍 Python拥有大量的第三方库,包含了各种各样的功能,如数据分析、Web开发、机器学习等。本文将介绍Python中安装库的常用方法。 pip安装 pip是Python的包管理工具,可以方便地安装、卸载和更新Python库。一般情况下,我们可以使用pip来安装Python库。 安装库的命令为pip install,例如安装N…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部