本文概述

如果你的数据集包含空值, 则可以使用dropna()函数分析并删除数据集中的行/列。

句法

DataFrameName.dropna(axis=0, how=’any’, thresh=None, subset=None, inplace=False)

参数

轴:{0或’index’, 1或’columns’}, 默认值0

它采用int或字符串值作为行/列。输入可以是0和1(整数和索引), 也可以是列(字符串)。

0或”索引”:删除包含缺失值的行。

1或”列”:删除包含缺失值的列。

怎么样 :

当我们有至少一个不适用或所有不适用时, 它确定是否从DataFrame中删除行或列。

它只接受两种字符串值(” any”或” all”)。

any:如果任何值为null, 则删除行/列。

all:仅在所有值均为null时丢弃。

脱粒:

它采用整数值, 该值定义要减少的最小NA值量。

子集:

它是一个数组, 将删除过程限制为通过列表传递的行/列。

到位:

它返回一个布尔值, 如果它为True, 则会在数据帧本身中进行更改。

Return

它返回删除了NA条目的DataFrame。

对于演示, 首先, 我们获取一个csv文件, 该文件将从数据集中删除任何列。

import pandas as pd

aa = pd.read_csv(“aa.csv”)

aa.head()

输出

Name

Hire Date

Salary

Leaves Remaining

0 John Idle03/15/14

50000.0

10

1 Smith Gilliam

06/01/15

65000.0

8

2 Parker Chapman

05/12/14

45000.0

10

3 Jones Palin

11/01/13

70000.0

3

4 Terry Gilliam

08/12/14

48000.0

7

5 Michael Palin

05/23/13

66000.0

8

代码

# importing pandas module

import pandas as pd

# making data frame from csv file

info = pd.read_csv(“aa.csv”)

# making a copy of old data frame

copy = pd.read_csv(“aa.csv”)

# creating value with all null values in new data frame

copy[“Null Column”]= None

# checking if column is inserted properly

print(info.columns.values, “\n”, copy.columns.values)

# comparing values before dropping null column

print(“\nColumn number before dropping Null column\n”, len(info.dtypes), len(copy.dtypes))

# dropping column with all null values

copy.dropna(axis = 1, how =’all’, inplace = True)

# comparing values after dropping null column

print(“\nColumn number after dropping Null column\n”, len(info.dtypes), len(info.dtypes))

输出

[‘NameHire DateSalaryLeaves Remaining’]

[‘NameHire DateSalaryLeaves Remaining’

‘Null Column’]

Column number before dropping Null column

1 2

Column number after dropping Null column

1 1

上面的代码从数据集中删除了null列, 并返回了一个新的DataFrame。