Python - 用 numpy 过滤 Pandas DataFrame
numpywhere()方法可用于过滤PandasDataFrame。提及where()方法中的条件。首先,让我们使用各自的别名导入所需的库
import pandas as pd import numpy as np
我们现在将创建一个包含产品记录的PandasDataFrame
dataFrame = pd.DataFrame({"Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"],"Opening_Stock": [300, 700, 1200, 1500],"Closing_Stock": [200, 500, 1000, 900]})使用numpywhere()过滤具有2个条件的DataFrame
resValues1 = np.where((dataFrame['Opening_Stock']>=700) & (dataFrame['Closing_Stock']< 1000)) print"\nFiltered DataFrame Value = \n",dataFrame.loc[resValues1]
让我们where()再次使用numpy过滤具有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
#usingnumpywhere()tofilterDataFramewith2Conditions
resValues1 = np.where((dataFrame['Opening_Stock']>=700) & (dataFrame['Closing_Stock']< 1000))
print"\nFiltered DataFrame Value = \n",dataFrame.loc[resValues1]
#usingnumpywhere()tofilterDataFramewith3conditions
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
热门推荐
10 教培生日祝福语简短
11 发财祝福语长辈的话简短
12 作品棒棒哒祝福语简短
13 直系离职祝福语大全简短
14 伴娘送亲祝福语简短精辟
15 女生求婚朋友祝福语简短
16 花茶礼盒生日祝福语简短
17 搞笑祝福语生日老师简短
18 工作花束祝福语简短英文