Python - 使用 NumPy 篩選 Pandas DataFrame
NumPy where() 方法可用於篩選 Pandas DataFrame。在 where() 方法中指定條件。首先,讓我們使用各個別名匯入所需的庫
import pandas as pd import numpy as np
現在,我們將使用產品記錄建立 Pandas DataFrame
dataFrame = pd.DataFrame({"Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"],"Opening_Stock": [300, 700, 1200, 1500],"Closing_Stock": [200, 500, 1000, 900]})使用 NumPy where() 根據 2 個條件篩選 DataFrame
resValues1 = np.where((dataFrame['Opening_Stock']>=700) & (dataFrame['Closing_Stock']< 1000)) print"\nFiltered DataFrame Value = \n",dataFrame.loc[resValues1]
讓我們再次使用 NumPy where() 根據 3 個條件篩選 DataFrame
resValues2 = np.where((dataFrame['Opening_Stock']>=500) & (dataFrame['Closing_Stock']< 1000) & (dataFrame['Product'].str.startswith('C')))示例
以下是完整的程式碼
import pandas as pd
import numpy as np
dataFrame = pd.DataFrame({"Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"],"Opening_Stock": [300, 700, 1200, 1500],"Closing_Stock": [200, 500, 1000, 900]})
print"DataFrame...\n",dataFrame
# using numpy where() to filter DataFrame with 2 Conditions
resValues1 = np.where((dataFrame['Opening_Stock']>=700) & (dataFrame['Closing_Stock']< 1000))
print"\nFiltered DataFrame Value = \n",dataFrame.loc[resValues1]
# using numpy where() to filter DataFrame with 3 conditions
resValues2 = np.where((dataFrame['Opening_Stock']>=500) & (dataFrame['Closing_Stock']< 1000) & (dataFrame['Product'].str.startswith('C')))
print"\nFiltered DataFrame Value = \n",dataFrame.loc[resValues2]
輸出
將輸出以下內容
DataFrame... Closing_Stock Opening_Stock Product 0 200 300 SmartTV 1 500 700 ChromeCast 2 1000 1200 Speaker 3 900 1500 Earphone Filtered DataFrame Value = Closing_Stock Opening_Stock Product 1 500 700 ChromeCast 3 900 1500 Earphone Filtered DataFrame Value = Closing_Stock Opening_Stock Product 1 500 700 ChromeCast
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP