2016-07-04 2 views
1

피벗 테이블 작업의 결과 인 다중 인덱스 데이터 프레임에서 두 날짜 간의 차이를 찾으려고합니다.팬더에서 두 날짜의 차이를 찾는 가장 간단한 방법

데이터 프레임에는 세 개의 열이 있습니다. 첫 번째는 measurement이고 두 번째는 end date이고 세 번째는 start date입니다.

I가 성공적으로 상기 데이터 프레임을 제 멀티 인덱스 항목을 추가 할 수있었습니다 만 이동할 셀 제로

편 [ "분"] [ "시작일"] = 0이지만 결과를 만들 나는 두 개의 날짜를 빼기 위해 문자열 오류를 얻고 각 열의 끝에 .Dt.Days을 추가하면 오류가 발생합니다.

멀티 인덱스 팬더 데이터 프레임에서 두 날짜 간의 날짜 차이를 찾는 가장 간단한 방법은 무엇입니까?

답변

0

당신은 tuples에 의해 열에서 Multiindex를 선택하고 뺄 수 있습니다 열 :

print (df) 
    a       
    meas   end  start 
0 7 2015-04-05 2015-04-01 
1 8 2015-04-07 2015-04-02 
2 9 2015-04-14 2015-04-04 

#if dtypes not datetime 
df[('a','end')] = pd.to_datetime(df[('a','end')]) 
df[('a','start')] = pd.to_datetime(df[('a','start')]) 

df[('a','diff')] = df[('a','end')] - df[('a','start')] 

print (df) 
    a        
    meas  end  start diff 
0 7 2015-04-05 2015-04-01 4 days 
1 8 2015-04-07 2015-04-02 5 days 
2 9 2015-04-14 2015-04-04 10 days 

하면 days에서 필요 출력 :

df[('a','diff')] = (df[('a','end')] - df[('a','start')]).dt.days 
print (df) 
    a       
    meas  end  start diff 
0 7 2015-04-05 2015-04-01 4 
1 8 2015-04-07 2015-04-02 5 
2 9 2015-04-14 2015-04-04 10