关键词

Pandas删除数据的几种情况(小结)

Pandas删除数据的几种情况(小结)

在Pandas中,删除数据是数据清理中一个非常关键的步骤。这里我们将讨论Pandas中删除数据的几种情况。

1. 删除行或列

1.1 删除行

删除行的方法是通过drop()函数来实现的。该函数使用axis=0参数来指示删除行。具体语法如下:

df.drop(index_names, axis=0, inplace=True)

其中,index_names是要删除的行的名称或行号,可以是单个名称/号或名称/号的列表或数组。

示例:

import pandas as pd

# 创建一个示例DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'Dave'],
        'age': [25, 32, 18, 47],
        'gender': ['F', 'M', 'F', 'M']}

df = pd.DataFrame(data)

# 删除前两行
df.drop([0, 1], axis=0, inplace=True)

print(df)

输出结果:

       name  age gender
2  Charlie   18      F
3     Dave   47      M

1.2 删除列

删除列的方法也是通过drop()函数来实现的。该函数使用axis=1参数来指示删除列。具体语法如下:

df.drop(columns, axis=1, inplace=True)

其中,columns是要删除的列的名称或列号,可以是单个名称/号或名称/号的列表或数组。

示例:

import pandas as pd

# 创建一个示例DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'Dave'],
        'age': [25, 32, 18, 47],
        'gender': ['F', 'M', 'F', 'M']}

df = pd.DataFrame(data)

# 删除'gender'列
df.drop('gender', axis=1, inplace=True)

print(df)

输出结果:

      name  age
0    Alice   25
1      Bob   32
2  Charlie   18
3     Dave   47

2. 删除缺失数据

2.1 删除具有缺失数据的行或列

删除具有缺失数据的行或列是使用dropna()函数实现的。该函数在默认情况下将删除具有缺失数据的任何行。具体语法如下:

df.dropna(axis=0, inplace=True)

要删除具有缺失数据的列,只需将axis参数设置为1即可。另外,通过使用subset参数,我们可以指定应考虑哪些列/行来查找缺失值。默认情况下,将考虑所有列。

示例:

import pandas as pd
import numpy as np

# 创建一个示例DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', np.nan],
        'age': [25, 32, np.nan, 47],
        'gender': ['F', 'M', 'F', 'M']}

df = pd.DataFrame(data)

# 删除具有缺失数据的行
df.dropna(axis=0, inplace=True)

print(df)

输出结果:

    name   age gender
0  Alice  25.0      F
1    Bob  32.0      M
2    Charlie  18.0      F
3      Dave   47      M

2.2 填充缺失的数据

除了删除缺失的数据,还可以通过一些其他方法来处理它们。其中一个方法是用某些数据值来填充缺失的值。这可以使用fillna()函数来实现,具体语法如下:

df.fillna(value, inplace=True)

其中,value可以是一个标量值(如0、1、'missing'等)或一个字典,其中每个键表示一个列/行,每个键的值是要在相应列/行中填充的值。

示例:

import pandas as pd
import numpy as np

# 创建一个示例DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', np.nan],
        'age': [25, 32, np.nan, 47],
        'gender': ['F', 'M', 'F', 'M']}

df = pd.DataFrame(data)

# 使用0填充缺失数据
df.fillna(0, inplace=True)

print(df)

输出结果:

      name   age gender
0    Alice  25.0      F
1      Bob  32.0      M
2  Charlie   0.0      F
3        0  47.0      M

本文链接:http://task.lmcjl.com/news/17494.html

展开阅读全文