Python |熊猫数据帧。dropna()

Python是进行数据分析的优秀语言,主要是因为以数据为中心的Python软件包的奇妙生态系统。Pandas就是其中之一,它使导入和分析数据变得更加容易。

null

有时csv文件有空值,这些值后来在数据框中显示为NaN。熊猫 dropna() 方法允许用户以不同的方式分析和删除具有空值的行/列。

语法:

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

参数:

轴线: axis对行/列采用int或string值。整数的输入可以是0或1,字符串的输入可以是“index”或“columns”。 怎样: how只接受两种类型的字符串值(“any”或“all”)。’如果任何值为Null,“any”将删除行/列,“all”仅在所有值为Null时删除。 脱粒: thresh取整数值,该整数值指示要删除的na值的最小数量。 子集: 它是一个数组,将删除过程限制为通过列表传递的行/列。 就地: 它是一个布尔值,如果为真,它会对数据帧本身进行更改。

有关代码中使用的CSV文件的链接,请单击 在这里

示例#1: 正在删除至少有1个空值的行。

读取数据帧,并删除所有具有空值的行。比较新旧数据帧的大小,看有多少行至少有一个空值。

# importing pandas module
import pandas as pd
# making data frame from csv file
data = pd.read_csv( "nba.csv" )
# making new data frame with dropped NA values
new_data = data.dropna(axis = 0 , how = 'any' )
# comparing sizes of data frames
print ( "Old data frame length:" , len (data), "New data frame length:" ,
len (new_data), "Number of rows with at least 1 NA value: " ,
( len (data) - len (new_data)))


输出:

Old data frame length:  458 
New data frame length:  364 
Number of rows with at least 1 NA value:  94

因为差异是94,所以有94行在任何列中至少有一个空值。

示例2: 更改轴以及使用方式和就地参数

制作了两个数据帧。将向新数据框中添加一个所有值均为none的列。验证列名以查看空列是否正确插入。然后比较删除NaN值前后的列数。

# importing pandas module
import pandas as pd
# making data frame from csv file
data = pd.read_csv( "nba.csv" )
# making a copy of old data frame
new = pd.read_csv( "nba.csv" )
# creating a value with all null values in new data frame
new[ "Null Column" ] = None
# checking if column is inserted properly
print (data.columns.values, "" , new.columns.values)
# comparing values before dropping null column
print ( "Column number before dropping Null column" ,
len (data.dtypes), len (new.dtypes))
# dropping column with all null values
new.dropna(axis = 1 , how = 'all' , inplace = True )
# comparing values after dropping null column
print ( "Column number after dropping Null column" ,
len (data.dtypes), len (new.dtypes))


输出:

['Name' 'Team' 'Number' 'Position' 'Age' 'Height' 'Weight' 'College'
 'Salary'] 
 ['Name' 'Team' 'Number' 'Position' 'Age' 'Height' 'Weight' 'College'
 'Salary' 'Null Column']

Column number before dropping Null column
 9 10

Column number after dropping Null column
 9 9
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享