如何从python中的pandas库中提取交叉表中的各个列?

如何从python中的pandas库中提取交叉表中的各个列?,python,pandas,crosstab,Python,Pandas,Crosstab,我有以下代码: def readcsv(): csv_data = read_csv(file,usecols=[0,1,24,25,26],parse_dates=[0],dtype=object) csv_data1 = csv_data.values return csv_data1 def main(): d = readcsv() df = DataFrame(d) d1=df[1] d0=df[0] d2=df[2

我有以下代码:

def readcsv():

    csv_data = read_csv(file,usecols=[0,1,24,25,26],parse_dates=[0],dtype=object)
    csv_data1 = csv_data.values

    return csv_data1

def main():
    d = readcsv()
    df = DataFrame(d)
    d1=df[1]
    d0=df[0]
    d2=df[2]
    d3=df[3]
    d4=df[4]


    ct = pd.crosstab(d0,[d2,d1,d3],rownames=['Date'],colnames=['RigStat','Prov','Obj'], margins=False)
在这一步中,结果是一个表格:

RigStat     DRILL                                              ...   MIR       \
Prov           AB                                           BC ...    MB   SK   
Obj           BIT  BRN  CBM  GAS  NON  OIL  SVC  WST  WTR  NON ...   OIL  GAS     
Date                                                           ...              
2006-08-22     15    1   20  235    0   63    4    0    0    0 ...     1    4   
2006-08-29     17    1   24  242    0   61    5    0    1    0 ...     0    5     
2006-09-06     14    0   22  210    0   50    4    0    0    0 ...     1    4     
2006-09-12     13    0   21  230    0   60    4    0    0    0 ...     0    3     
2006-09-19     14    0    7  155    0   35    2    1    1    1 ...     2    2    
现在,我希望能够创建一个新表,只包括“Drill”下的那些列,我如何才能做到这一点?我甚至无法在这里提取单个列,因为
Dataframe
是按日期索引的


有什么建议吗?

newdf=ct['DRILL']
应该这样做


或者,您可以选择一个横截面:
newdf=ct.xs('DRILL',level='RigStat',axis=1)

我尝试了这两种方法,但仍然得到一个错误。对于第一个,输出为:KeyError:“Drill”。对于第二个解决方案,输出为:keyrerror:“Drill”。不确定在这里要做什么,下面的值是频率。抱歉
'Drill'
应该是
'Drill'
(所有大写)@carevans88Dude非常感谢您的帮助。我已经在这方面胡闹了几天,没有意识到这个电话是区分大小写的。再次感谢你的帮助。这是我在这里的第一篇帖子,他们来到这里的社区给我留下了深刻的印象!