2014-04-11 8 views
1

내 데이터 프레임이 모든 NaN을 반환하는 이유를 해결하는 데 도움이 필요합니다.팬더에 날짜 열을 추가하는 중 오류가 발생했습니다.

print df 
    0 1 2 3 4 
0 1 9 0 7 30 
1 2 8 0 4 30 
2 3 5 0 3 30 
3 4 3 0 3 30 
4 5 1 0 3 30 

그런 다음 날짜 색인을 추가했습니다. 나는 5 일 동안 하루 만 증가시켜야한다.

date = pd.date_range(datetime.datetime.today(), periods=5) 
data = DataFrame(df, index=date) 
print data 

          0 1 2 3 4 
2014-04-10 17:16:09.433000 NaN NaN NaN NaN NaN 
2014-04-11 17:16:09.433000 NaN NaN NaN NaN NaN 
2014-04-12 17:16:09.433000 NaN NaN NaN NaN NaN 
2014-04-13 17:16:09.433000 NaN NaN NaN NaN NaN 
2014-04-14 17:16:09.433000 NaN NaN NaN NaN NaN 

몇 가지 시도해 보지 않았습니다. 원본 데이터 프레임을

np.random.randn(5,5) 

으로 변경하면 작동합니다. 누구가 여기에서 무슨 일이 일어나고 있는지 생각해?

편집 : 무엇을 DataFrame(df, index=date)

df.index = date 

이 새로운 생성한다는 것입니다 : 데이터 유형인지 추가가는 것은 float64

print df.dtypes 

0 float64 
1 float64 
2 float64 
3 float64 
4 float64 
dtype: object 

답변

1

다음에 원래 dataframe의 인덱스를 덮어 쓰기한다 index의 값을 사용중인 df의 값과 일치 시키면됩니다. 예를 들어

DataFrame(df, index=[0,1,2,5,5]) 
다음개

수익률은 :

0 1 2 3 4 
0 1 9 0 7 30 
1 2 8 0 4 30 
2 3 5 0 3 30 
5 NaN NaN NaN NaN NaN 
5 NaN NaN NaN NaN NaN 

5 때문에 원래 dataframe의 인덱스에 포함되지 않습니다.

관련 문제