Python是進行數據分析的一種出色語言,主要是因為以數據為中心的python軟件包具有奇妙的生態係統。 Pandas是其中的一種,使導入和分析數據更加容易。
有時,csv文件具有空值,該空值隨後在 DataFrame 中顯示為NaN。 Pandas dropna()方法允許用戶以不同的方式分析和刪除具有Null值的行/列。
用法:
DataFrameName.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
參數:
-
axis:axis接受行/列的int或字符串值。對於整數,輸入可以為0或1;對於字符串,輸入可以為“索引”或“列”。
how:如何僅采用兩種字符串值(“任意”或“全部”)。如果ANY值為Null,則“ any”刪除行/列,而僅當ALL值為null時,“ all”刪除行/列。
thresh:thresh取整數值,該值告訴您要減少的na值的最小值。
subset:它是一個數組,將刪除過程限製為通過列表傳遞行/列。
inplace:如果為True,則它是一個布爾值,它會在數據幀本身中進行更改。
有關在“代碼中使用”的CSV文件的鏈接,請單擊此處。
範例1:刪除具有至少1個空值的行。
讀取數據幀,並刪除所有具有任何Null值的行。比較新舊數據幀的大小,以查看有多少行的值至少為1 Null。
# 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), "\nNew data frame length:",
len(new_data), "\nNumber 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行在任何列中至少具有1 Null值。
範例2:更改軸以及使用參數和方式
製作兩個數據幀。具有所有值= none的列將添加到新的 DataFrame 中。驗證列名以查看是否正確插入了Null列。然後在刪除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, "\n", new.columns.values)
# comparing values before dropping null column
print("\nColumn number before dropping Null column\n",
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("\nColumn number after dropping Null column\n",
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
相關用法
- Python pandas.map()用法及代碼示例
- Python Pandas Series.str.len()用法及代碼示例
- Python Pandas.factorize()用法及代碼示例
- Python Pandas TimedeltaIndex.name用法及代碼示例
- Python Pandas dataframe.ne()用法及代碼示例
- Python Pandas Series.between()用法及代碼示例
- Python Pandas DataFrame.where()用法及代碼示例
- Python Pandas Series.add()用法及代碼示例
- Python Pandas.pivot_table()用法及代碼示例
- Python Pandas Series.mod()用法及代碼示例
- Python Pandas Dataframe.at[ ]用法及代碼示例
- Python Pandas Dataframe.iat[ ]用法及代碼示例
- Python Pandas.pivot()用法及代碼示例
- Python Pandas dataframe.mul()用法及代碼示例
- Python Pandas.melt()用法及代碼示例
注:本文由純淨天空篩選整理自Kartikaybhutani大神的英文原創作品 Python | Pandas DataFrame.dropna()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。