2017-10-17 16 views
0

커스텀 샘플러 기능을 사용하여 팬더 데이터 프레임을 샘플링했습니다. 이것은 기본적으로 두 개의 컬럼으로 구성되어 있습니다 :균등하게 분포 된 데이터 프레임에 누락 된 행 추가

  • 타임 스탬프

내가 동등하게 분산 모든 날짜 시간 (예 : 10 분 간격으로 새로운 데이터 프레임을 생성하고 싶습니다)를 사용하여 샘플링 된 값 (동일한 빈도에서 샘플링 됨)의 누락 된 값을 채 웁니다.

Shoudl 색인 다시 작성 방법을 사용해야합니까? 그냥 작동하지 않습니다

dd = pd.date_range(
     start_date.astimezone(pytz.utc), 
     end_date.astimezone(pytz.utc), 
     freq="3min" 

    ) 
dd = dd.map(lambda item: calendar.timegm(item.timetuple())) 
df.index = df.reindex(dd, fill_value="NaN") 

:

내가 좋아하는 뭔가를 시도하고있다. 두 개의 인덱스가 크기가 다르기 때문에 "길이 불일치 오류"가 발생합니다.

올바른 방법입니까?

감사합니다, 당신이 함께 시도 할 수

FB

답변

1

, 나는 두 dataframe를 병합 comvibe_first을 사용했다.

start_date = datetime.datetime.today() 
end_date = datetime.datetime(2017, 10, 19) 
​ 
dd = pd.date_range(
     start_date, 
     end_date, 
     freq="3min" 
​ 
    ) 
dd = dd.map(lambda item: calendar.timegm(item.timetuple())) 
columns = ['some', 'column', 'headers'] 
df = pd.DataFrame(columns=columns, index=dd) 
myarray = np.random.random((len(dd),3)) 
for val, item in enumerate(myarray): 
    df.ix[df.index.values[val]] = item 
index_new = df.sample(frac=0.8, random_state=200) 
df = df.drop(index_new.index) 
df_ok = pd.DataFrame(columns=columns, index=dd) 
df_ok = df_ok.combine_first(df)