如何在 Python 資料框中顯示非空行和列?
在本教程中,我們將學習如何使用一些庫在 Python 資料框中顯示非空行和列。在本教程中,我們將使用 Pandas 庫。
資料框是 pandas 中的一種資料結構,類似於 Excel 表格或 SQL 表格。它是一個二維帶標籤的資料結構,可以儲存多個列,這些列可能包含不同型別的資料,例如整數、浮點數、字串等。Pandas 提供了一個強大的資料結構“資料框”以及其他有用的方法來處理海量資料。
方法 1
在資料框中顯示非空行和列的一種方法是使用 dropna() 方法。它返回一個數據框,其中所有包含空值的列和行都已從原始資料框中刪除。
語法
要使用 dropna() 方法顯示影像,您需要遵循以下語法:
df = df.dropna() print(df)
我們在想要過濾所有空值的資料框 'df' 上使用 'dropna()' 方法。然後我們將使用 print() 函式列印它。
示例
在此示例中,我們使用的是 Pandas 庫。因此,首先,我們將匯入 Pandas 庫併為其分配別名 'pd'。名為 'data' 的字典包含一些示例資料,其鍵表示列,其值表示行的列表。在這裡,我們故意將一些值設為 'None' 以演示 'dropna()' 方法的使用。然後,我們將此字典傳遞給 pandas DataFrame() 函式,該函式使用 'pd.DataFrame(data)' 返回一個數據框物件。
然後,我們將對這個 'df' 資料框使用 dropna() 方法來刪除空行和列。然後,我們將使用 print() 函式顯示所需的資料框。
import pandas as pd # Create a sample dataframe with null values data = {'Name': ['Alice', 'Bob', None, 'David', 'Eva'], 'Age': [25, 30, None, 20, 28], 'Gender': ['F', 'M', 'M', 'M', None], 'City': [None, 'San Francisco', 'Boston', 'Los Angeles', None]} df = pd.DataFrame(data) # Drop rows and columns with null values df = df.dropna() # Display the resulting dataframe print(df)
輸出
Name Age Gender City 1 Bob 30.0 M San Francisco 3 David 20.0 M Los Angeles
示例
在此示例中,我們使用 pandas 的 DataFrame() 函式建立了一個包含一些空值的示例資料框。然後,我們使用此資料框上的 'dropna()' 方法刪除所有包含少於 2 個非空值的行的,方法是將它的 'thresh' 引數的值設定為 2。
我們將 'dropna()' 函式的 'inplace' 引數的值設定為 'True',這表示用新的資料框替換原始資料框,在新的資料框中,非空值已被刪除。'inplace' 引數的預設值為 'True';在這種情況下,它返回一個數據框,並且不更改原始資料框。最後,我們將使用 print() 函式顯示結果資料框。
import pandas as pd # Create a sample dataframe with null values data = {'Name': ['Alice', 'Bob', None, 'David', 'Eva'], 'Age': [25, 30, None, 20, None], 'Gender': ['F', 'M', 'M', 'M', None], 'City': [None, 'San Francisco', 'Los Angeles', 'Boston', None]} df = pd.DataFrame(data) # Drop rows and columns with null values in-place df.dropna(thresh=2, inplace=True) # Display the resulting dataframe print(df)
輸出
Name Age Gender City 0 Alice 25.0 F None 1 Bob 30.0 M San Francisco 2 None NaN M Los Angeles 3 David 20.0 M Boston
方法 2
顯示資料框中非空值的另一種方法是使用 'notnull()' 方法。這是一個 pandas 函式,它返回一個與原始資料框形狀相同布林資料框,其中 'True' 表示非空值,'False' 表示空值。
語法
要使用 notnull() 方法顯示非空值,您需要遵循以下語法
df = df[df.notnull().all(axis=1)] print(df)
我們在想要過濾空值的資料框 'df' 上使用 'notnull()' 方法。帶 'axis' 引數設定為 '1' 的 'all()' 方法僅返回僅包含非空值的那些行。然後我們將使用 print() 函式列印結果資料框。
示例
在此示例中,我們首先建立一個包含一些空值的自定義資料框。然後,我們使用該資料框上的 'notnull()' 方法建立一個布林資料框,其中空值表示為 'False',非空值表示為 'True'。然後,我們在該布林資料框上使用 'all()' 方法,並將引數 'axis' 設定為 '1',它僅返回所有值都非空的行。
最後,我們將結果過濾後的資料框分配回原始資料框變數 'df' 並使用 print() 函式顯示結果資料框。
import pandas as pd # Create a sample dataframe data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'], 'Age': [25, 30, None, 20, 28], 'Gender': ['F', 'M', 'M', 'M', None], 'City': ['New York', 'San Francisco', 'Los Angeles', 'Boston', None]} df = pd.DataFrame(data) # Filter for rows and columns with non-null values df = df[df.notnull().all(axis=1)] # Display the resulting dataframe print(df)
輸出
Name Age Gender City 0 Alice 25.0 F New York 1 Bob 30.0 M San Francisco 3 David 20.0 M Boston
結論
我們學習瞭如何使用不同的方法在 Python 資料框中顯示非空值。我們學習瞭如何使用 Pandas DataFrame() 函式建立包含自定義資料的資料框。所討論的不同方法對於過濾包含非空值的行列非常有用,這在處理大型資料集時非常有用,因為空值通常會導致資料分析和建模出現問題。透過刪除這些空值,我們可以確保我們的資料乾淨且準確,並且可以最大程度地利用可用資料。