2013-10-01 3 views
1

저는 오랫동안이 문제에 어려움을 겪었으므로 나를 도울 수있는 누군가가 있기를 바랍니다.팬더 데이터베이스에 동일한 인덱스를 병합합니다.

Dates 
2011-01-10 -1500 
2011-01-13 1500 
2011-01-13 -4000 
2011-01-26 -1000 
2011-02-02 4000 
2011-02-10 -4000 
2011-03-03 1000 
2011-03-03 2200 
2011-06-03 3300 
2011-05-03 -1500 
2011-06-10 -1200 
2011-08-01  -55 
2011-08-01  55 
2011-12-20 1200 
dtype: int32 

같은 날짜의 배수가 볼 수 있듯이 :

나는 다음과 같습니다 파이썬의 시계열이있다. 합병하여 합계 값을 합계하여 다음과 같이 합산하고자합니다.

Dates 
2011-01-10 -1500 
2011-01-13 -2500 
2011-01-26 -1000 
2011-02-02 4000 
2011-02-10 -4000 
2011-03-03 3200 
2011-06-03 3300 
2011-05-03 -1500 
2011-06-10 -1200 
2011-08-01  0 
2011-12-20 1200 
dtype: int32 

솔루션을 아는 사람은 누구입니까?

미리 감사드립니다.

답변

0

색인이 적절한 날짜라고 가정하면 일별 간격으로 다시 샘플링 할 수 있습니다. 이것은 나중에 삭제 될 필요가 날짜 실종에 NaN의 값을 intoduces :

ts.groupby(lambda x: x).sum() 
:

ts.resample('D', how='sum').dropna() 

보다 일반적인 솔루션은 인덱스를 GROUPBY하는 것입니다, 이것은 심지어 인덱스가 문자열 또는 뭔가 다른 구성 할 경우 일 것

타임 스탬프에 시간별 정보 나 기타 정보가 포함되어 있으면 위 값만 같은 값으로 그룹화되므로 위의 값은 작동하지 않습니다. 그런 다음 인덱스를 포맷 할 수와 타임 스탬프 단지 '일 부분'에 : 당신은 새로운 시리즈를 만드는 방법에 대한

sums = ts.groupby('Date').sum()

ts.groupby(lambda x: x.strftime('%Y-%m-%d')).sum() 
0

당신의 ts 시계열의 날짜로 그룹화하여 sums에게 전화 값 합계.

1

방법에 대해 :

ts.groupby(ts.index).sum()

또는

ts.groupby(level=0).sum()

관련 문제