2015-01-21 4 views
0

예상 출력을 제공하지 병합 제 dataframe을 샘플 "fgblquotef 것은"이다팬더 I 두 dataframes이 날짜

      DateTimesy VWPfgbmy 
59  2014-09-05 06:00:24.033000 127.687514 
60  2014-09-05 06:00:24.436000 127.687933 
61  2014-09-05 06:00:24.597000 127.687746 
62  2014-09-05 06:00:24.891000 127.687752 
63  2014-09-05 06:00:25.178000 127.687730 
64  2014-09-05 06:00:25.227000 127.687741 
65  2014-09-05 06:00:26.035000 127.687651 
66  2014-09-05 06:00:26.667000 127.689970 
71  2014-09-05 06:00:26.677000 127.692642 
72  2014-09-05 06:00:26.681000 127.692571 
73  2014-09-05 06:00:26.688000 127.696051 
75  2014-09-05 06:00:26.700000 127.696051 
76  2014-09-05 06:00:26.702000 127.695850 
79  2014-09-05 06:00:27.216000 127.687548 
80  2014-09-05 06:00:27.910000 127.687512 
81  2014-09-05 06:00:28.208000 127.687524 
82  2014-09-05 06:00:28.289000 127.687436 
83  2014-09-05 06:00:28.717000 127.687436 
85  2014-09-05 06:00:28.998000 127.686910 
87  2014-09-05 06:00:29.035000 127.687043 
88  2014-09-05 06:00:29.062000 127.687534 
89  2014-09-05 06:00:29.099000 127.687059 
90  2014-09-05 06:00:29.327000 127.686843 
91  2014-09-05 06:00:29.386000 127.686811 
92  2014-09-05 06:00:29.505000 127.686984 
93  2014-09-05 06:00:29.571000 127.686931 
94  2014-09-05 06:00:29.602000 127.686989 
96  2014-09-05 06:00:29.958000 127.686771 
97  2014-09-05 06:00:29.960000 127.686759 
98  2014-09-05 06:00:29.962000 127.686673 

및 제 "DF"

     DateTimesx     DateTimesy 
2  2014-09-05 06:00:23.596000 2014-09-05 06:00:24.596000 
3  2014-09-05 06:00:23.644000 2014-09-05 06:00:24.644000 
4  2014-09-05 06:00:23.694000 2014-09-05 06:00:24.694000 
5  2014-09-05 06:00:23.744000 2014-09-05 06:00:24.744000 
6  2014-09-05 06:00:23.794000 2014-09-05 06:00:24.794000 
7  2014-09-05 06:00:23.844000 2014-09-05 06:00:24.844000 
8  2014-09-05 06:00:23.894000 2014-09-05 06:00:24.894000 
9  2014-09-05 06:00:24.044000 2014-09-05 06:00:25.044000 
10  2014-09-05 06:00:24.294000 2014-09-05 06:00:25.294000 
11  2014-09-05 06:00:24.394000 2014-09-05 06:00:25.394000 
12  2014-09-05 06:00:24.444000 2014-09-05 06:00:25.444000 
13  2014-09-05 06:00:24.544000 2014-09-05 06:00:25.544000 
14  2014-09-05 06:00:24.694000 2014-09-05 06:00:25.694000 
15  2014-09-05 06:00:24.794000 2014-09-05 06:00:25.794000 
16  2014-09-05 06:00:24.844000 2014-09-05 06:00:25.844000 
17  2014-09-05 06:00:25.294000 2014-09-05 06:00:26.294000 
18  2014-09-05 06:00:25.394000 2014-09-05 06:00:26.394000 
19  2014-09-05 06:00:25.694000 2014-09-05 06:00:26.694000 
20  2014-09-05 06:00:25.794000 2014-09-05 06:00:26.794000 
21  2014-09-05 06:00:26.044000 2014-09-05 06:00:27.044000 
22  2014-09-05 06:00:26.294000 2014-09-05 06:00:27.294000 
23  2014-09-05 06:00:26.544000 2014-09-05 06:00:27.544000 
24  2014-09-05 06:00:26.694000 2014-09-05 06:00:27.694000 
25  2014-09-05 06:00:28.344000 2014-09-05 06:00:29.344000 
26  2014-09-05 06:00:29.044000 2014-09-05 06:00:30.044000 
27  2014-09-05 06:00:29.094000 2014-09-05 06:00:30.094000 
28  2014-09-05 06:00:29.144000 2014-09-05 06:00:30.144000 
29  2014-09-05 06:00:29.394000 2014-09-05 06:00:30.394000 
30  2014-09-05 06:00:29.744000 2014-09-05 06:00:30.744000 
31  2014-09-05 06:00:29.894000 2014-09-05 06:00:30.894000 

제 dataframe "

td = pd.to_timedelta(1, unit= "s") 
df["DateTimesy"] = df["DateTimesx"] + td 

을 다음 I 사용 병합 : DF은 "[DateTimesy"]를 사용하여 만든 컬럼 DF를 갖는 "

이뿐만 아니라 그냥 "안양"항목에 혼합 "fgblquotef"항목이 있어야하기 때문에 잘못

     DateTimesx     DateTimesy VWPfgbmy 
0  2014-09-05 06:00:23.596000 2014-09-05 06:00:24.596000   NaN 
1  2014-09-05 06:00:23.644000 2014-09-05 06:00:24.644000   NaN 
2  2014-09-05 06:00:23.694000 2014-09-05 06:00:24.694000   NaN 
3  2014-09-05 06:00:23.744000 2014-09-05 06:00:24.744000   NaN 
4  2014-09-05 06:00:23.794000 2014-09-05 06:00:24.794000   NaN 
5  2014-09-05 06:00:23.844000 2014-09-05 06:00:24.844000   NaN 
6  2014-09-05 06:00:23.894000 2014-09-05 06:00:24.894000   NaN 
7  2014-09-05 06:00:24.044000 2014-09-05 06:00:25.044000   NaN 
8  2014-09-05 06:00:24.294000 2014-09-05 06:00:25.294000   NaN 
9  2014-09-05 06:00:24.394000 2014-09-05 06:00:25.394000   NaN 
10  2014-09-05 06:00:24.444000 2014-09-05 06:00:25.444000   NaN 
11  2014-09-05 06:00:24.544000 2014-09-05 06:00:25.544000   NaN 
12  2014-09-05 06:00:24.694000 2014-09-05 06:00:25.694000   NaN 
13  2014-09-05 06:00:24.794000 2014-09-05 06:00:25.794000   NaN 
14  2014-09-05 06:00:24.844000 2014-09-05 06:00:25.844000   NaN 
15  2014-09-05 06:00:25.294000 2014-09-05 06:00:26.294000   NaN 
16  2014-09-05 06:00:25.394000 2014-09-05 06:00:26.394000   NaN 
17  2014-09-05 06:00:25.694000 2014-09-05 06:00:26.694000   NaN 
18  2014-09-05 06:00:25.794000 2014-09-05 06:00:26.794000   NaN 
19  2014-09-05 06:00:26.044000 2014-09-05 06:00:27.044000   NaN 
20  2014-09-05 06:00:26.294000 2014-09-05 06:00:27.294000   NaN 
21  2014-09-05 06:00:26.544000 2014-09-05 06:00:27.544000   NaN 
22  2014-09-05 06:00:26.694000 2014-09-05 06:00:27.694000   NaN 
23  2014-09-05 06:00:28.344000 2014-09-05 06:00:29.344000   NaN 
24  2014-09-05 06:00:29.044000 2014-09-05 06:00:30.044000   NaN 
25  2014-09-05 06:00:29.094000 2014-09-05 06:00:30.094000   NaN 
26  2014-09-05 06:00:29.144000 2014-09-05 06:00:30.144000   NaN 
27  2014-09-05 06:00:29.394000 2014-09-05 06:00:30.394000   NaN 
28  2014-09-05 06:00:29.744000 2014-09-05 06:00:30.744000   NaN 
29  2014-09-05 06:00:29.894000 2014-09-05 06:00:30.894000   NaN 

:

df2 = pd.merge(df, fgbmquotef, on = "DateTimesy", how = "outer") 

그러나 나는 결과를 얻고있다. 아무도 여기서 무슨 일이 일어나고 있는지 그리고 내가 실수 한 부분을 설명 할 수 있습니까? 어쩌면

+0

당신이 예를 트리밍 할 수 아래에 몇 가지 (예를 들면, 5 행) . 이것 좀 봐 많이 있습니다. –

+0

두 데이터 프레임 열의 데이터 형식이 동일한 지 확인하십시오. 나는 판다 스가 때때로 날짜와 함께 부끄럽지 만 더 많은 정보 없이는 말하기가 어렵다는 것을 안다. – DataByDavid

+0

나는 현재 데이터 집합을 그대로 두 겠지만 각 데이터 집합의 처음 5 행을 가져 가면 내가 말한 오류가 표시되어야합니다. – azuric

답변

1

:

DF2 = pd.merge (DF, fgbmquotef, left_on = "DateTimesy", right_on = "DateTimesy는"어떻게 = "외부") 당신은 필요가 없습니다 #although.

시도 :

df2 = pd.merge(df.set_index("DateTimesy"), fgbmquotef.set_index("DateTimesy"), left_index=True, right_index=True, how = "outer") 



df2 = pd.merge(df.set_index("DateTimesy", drop=False), fgbmquotef.set_index("DateTimesy", drop=False), left_index=True, right_index=True, how = "outer", suffixes = ('_df', '_fgbmquotef')) 

또는 접미사없이 :

df2 = pd.merge(df.set_index("DateTimesy", drop=False), fgbmquotef.set_index("DateTimesy", drop=False), left_index=True, right_index=True, how = "outer") 

가 마지막으로 CONCATENATE 함수를 시도 : http://pandas.pydata.org/pandas-docs/stable/merging.html#concatenating-objects

+0

내가 받고있다 : MergeError : right_on 또는 right_index = True를 넘어야한다. 또한 DateTimesy를 사용하여 병합하는 방법도 있습니다. – azuric

+1

나는 df2 = pd.merge (df.set_index ("DateTimesy", drop = False), fgbmquotef.set_index ("DateTimesy", drop = False), left_index = True, right_index = df2 = pd.merge (df.set_index ("DateTimesy"), fgbmquotef.set_index ("DateTimesy"), left_index = true, right_index ("외부", 접미사 = ('_df', '_fgbmquotef')) – Skorpeo

+1

= True, how = "outer") – Skorpeo

관련 문제