2016-11-17 52 views
0

從文件output_hc_v1.csv 與頭:EMPLID pay_status計數位置DEPTID grade_desc最新版本如何使用.query與熊貓和numpy?

我會通過Python想節省過濾的「pay_status =活動」新的CSV。 與此代碼:

a1=a.query ('"pay_status" == ["Active"]') 

====================================== ===

但這部分不起作用。

My full code: 
import csv 
import pandas as pd 
import numpy as np 

df= pd.read_csv ("C:/Users/e1087353/Documents/CAPCO/HC/python_data/output_hc_v1.csv") 
df.head() 
a= pd.pivot_table(df, index =["location","deptid","grade_desc","pay_status"] ,values=["Count"],aggfunc=np.sum) 
a1=a.query ('"pay_status" == ["Active"]') 
a1.to_csv ("C:/Users/e1087353/Documents/CAPCO/HC/python_data/Output_final2.csv") 

回答

0

請勿使用查詢。要過濾簡單地做:

a1=a[a['pay_status']=='Active'] 

如果您創建數據透視表可能要重新索引您篩選之前: a=a.reset_index()

另外,對於更復雜的查詢,如果您要篩選的項目列表使用isin

filter_list=['Active','Inactive','Something'] 
a1=a[a['pay_status'].isin(filter_list)] 
1

您不需要在查詢字符串中引用列名稱。因此您可以使用,

a1 = a.query('pay_status == "Active"')