두 가지 기준을 충족하는 두 데이터 프레임을 병합 할 때 높게 또는 낮게 검색했습니다. 본질적으로 내가하려고하는 것은 한 데이터 프레임에서 날짜와 시세 기호가 일치하는 주요 데이터 프레임으로의 전망이다.두 팬더 데이터 병합 두 가지 기준을 충족하는 데이터 프레임 (VLOOKUP EQUIVALENT)
df1이라는 기본 데이터 프레임의 기본 버전은 다음과 같습니다. 2011 년 5 월 1 일과 2016 년 5 월 2 일에 계정에있는 주식 기호입니다.
Account_Num Date Symbol
0 1 2016-05-01 AAPL
1 1 2016-05-01 UA
2 1 2016-05-01 DIS
3 2 2016-05-01 CVX
4 2 2016-05-01 GOOGL
5 2 2016-05-01 PX
6 3 2016-05-01 MOS
7 3 2016-05-01 BLK
8 3 2016-05-01 TMO
9 1 2016-05-02 AAPL
10 1 2016-05-02 UA
11 1 2016-05-02 DIS
12 2 2016-05-02 CVX
13 2 2016-05-02 GOOGL
14 2 2016-05-02 PX
15 3 2016-05-02 MOS
16 3 2016-05-02 BLK
17 3 2016-05-02 TMO
내 두 번째 데이터 프레임 DF2가, 2016년 5월 1일 및 2016년 5월 2일에 위의 계좌에있는 주식의 가격을 가지고 다음과 같습니다 (구성 가격) :
Date Symbol Price
0 2016-05-01 AAPL 99.02
1 2016-05-02 AAPL 94.00
2 2016-05-01 UA 43.00
3 2016-05-02 UA 40.67
4 2016-05-01 DIS 67.88
5 2016-05-02 DIS 70.03
6 2016-05-01 CVX 22.00
7 2016-05-02 CVX 24.47
8 2016-05-01 GOOGL 85.52
9 2016-05-02 GOOGL 84.33
10 2016-05-01 PX 44.22
11 2016-05-02 PX 47.16
12 2016-05-01 MOS 23.77
13 2016-05-02 MOS 21.56
14 2016-05-01 BLK 38.48
15 2016-05-02 BLK 41.22
16 2016-05-01 TMO 67.43
17 2016-05-02 TMO 65.11
다음과 같이 내가 함께 결국 원하는 것은 DF3입니다 :
Account_Num Date Symbol Price
0 1 2016-05-01 AAPL 99.02
1 1 2016-05-01 UA 43.00
2 1 2016-05-01 DIS 67.88
3 2 2016-05-01 CVX 22.00
4 2 2016-05-01 GOOGL 85.52
5 2 2016-05-01 PX 44.22
6 3 2016-05-01 MOS 23.77
7 3 2016-05-01 BLK 38.48
8 3 2016-05-01 TMO 67.43
9 1 2016-05-02 AAPL 94.00
10 1 2016-05-02 UA 40.67
11 1 2016-05-02 DIS 70.03
12 2 2016-05-02 CVX 24.47
13 2 2016-05-02 GOOGL 84.33
14 2 2016-05-02 PX 47.16
15 3 2016-05-02 MOS 21.56
16 3 2016-05-02 BLK 41.22
17 3 2016-05-02 TMO 65.11
내가보고하고 문제가 DF2가 23,000을 가지고있는 반면 내 DF1 10 만 개 행이 두 데이터 프레임은 서로 다른 길이 있다는 것입니다. 따라서 인덱스를 사용하여 일대일로 일치하는 것처럼 보이지 않습니다. 위의 데이터 프레임 예제는 실제 데이터에서 다른 계정보다 더 많은 주식을 보유하고 있으므로 매우 기본입니다. 그래서 내가 생각할 필요가있는 것은 df1의 행을 반복하고 df2에서 날짜와 기호가 일치하는 가격을 가져와야한다는 것입니다.
팬더스의 vlookup에 해당하는 예제를 찾았지만 일치하는 날짜와 기호를 찾고 해당 날짜에 주식 가격을 계산할 때 하나의 기준에만 일치합니다. 사람이 거기에이 작업을 수행하는 방법에 대한 정보를 알고 또는 제안이있는 경우
이 크게 될
감사합니다, da4l 감사 것
내가 할 수 있었다 @Merlin에서 힌트에
@ da41 - 힌트 : 두 개의 테이블을 "결합"해야합니다. 두 개의 테이블을 ---- 2016-05-01AAPL과 같이 조인 할 키를 만들어야합니다. 2016-05-01UA ... – Merlin
고마워요 @ 메린 그에게 지금 갈 것입니다. – da4l